首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

輕鬆實現 Java 使用者介面程式設計:Buoy 工具包實戰

     編輯:Java 程式設計入門

Buoy 是一個建構在 Swing 之上的免費使用者介面 (UI) 工具包,它為 UI 開發人員提供了便利性和簡單性。第一次嘗試用 Java 語言建構簡單的使用者介面時,我對 Swing 介面的複雜性感到有些驚訝。最近,一個朋友向我提到,他使用的渲染程式 Art of Illusion 基於一個不同的工具包:Buoy。推薦它的原因之一是它的介面更友好。

Buoy 是免費的,實際上它是公共領域的東西。它並沒有在某個開放程度合理的授權下發布,實際上它根本不受任何授權控制。這意味著在任何用 Java 語言編寫的能夠運行 Buoy 的專案中都可以使用 Buoy,而不用考慮授權問題。因為提供了完整的原始碼,所以這個工具包很容易修改和擴展。

範例程式:分形檢視器

程式生成了一些分形,具體地說,是迭代的分形。基本思想很簡單:在平面上定義一系列的線條區段,從 (0,0) 到 (1,0),圍繞任意一個單位線條定位。繪製這些區段之後,繪製同一套變形線條,用這個區段作為單位向量。

分形編輯器中的分形

圖 1. 分形編輯器中的分形

Buoy vs Swing 命名對照

在第一次深入研究程式碼時,也許會形成這樣的印象:把 Swing 程式碼轉換成 Buoy 程式碼簡單得就像把 UI 元素名稱中的字母 J 換成 B 一樣簡單。例如,FractalViewer 類別不再擴展 JFrame;它現在擴展的是 BFrame。主要的小部件名稱也可以照此推測得到。

SwingBuoy
JFrameBFrame
JPanelBPanel
JButtonBButton
JLabelBLabel
BorderLayoutBorderContainer

核心優勢

  • 容器與版面管理合一:Buoy 幾乎結合了容器和版面管理器的概念;每種容器類型都知道自己如何版面配置,大大簡化了設計。
  • 建構在 Swing 之上:需要時可直接存取底層 Swing 物件,透過 AWTWidget 包裝任意 AWT/Swing 元件。
  • 高效事件處理:使用 addEventLink() 連接事件源與處理器,程式碼極度簡潔。

事件處理範例

// 滑鼠按下事件連結
addEventLink("MousePressed", this, "mousePressed");

// 事件處理方法
public void mousePressed(MousePressedEvent ev) {
    // 處理邏輯...
}

發行包中包含範例程式的原始碼、編譯好的類別檔和 Buoy 的 JAR 檔案。在 Windows 系統上,正確的命令列應當是 java -classpath .;Buoy.jar FractalViewer。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved