2010-07-29 53 views
1

我想知道分解大型Java Swing類的最佳方法。我的一些相當大,我想開始正確模塊化我的代碼的過程。我看到我可以將我的類添加到Netbeans的調色板中,但問題是他們沒有向我展示當我將它們「拖放」到GUI設計器時它看起來像什麼樣子的圖形表示。一些第三方jar文件支持添加到調色板中,並且它們提供了一個圖形預覽,顯示它們運行後的樣子。在NetBeans調色板中分解Java Swing類

我的問題是,我不知道這個「預覽」被稱爲什麼適當的術語,所以我覺得很難搜索。我想要一些關於如何使我的當前類可以添加到調色板的文檔或教程,並查看它們在GUI設計器中的樣子。

謝謝!

回答

3

要獲得圖標,您需要爲您的課程提供BeanInfo

最簡單的方法是在項目窗口中右鍵單擊課程,然後選擇BeanInfo editor...

你會想切換到設計器視圖來配置哪些屬性是專家/隱藏/首選。

  • 首選屬性顯示在屬性窗口的最上面(屬性)。
  • 專家屬性出現在第二個摺疊(其他屬性)。
  • 隱藏不出現。

您還可以指定屬性是否綁定,約束等。要設置圖標,請選擇樹的最頂端節點(BeanInfo),您將看到圖標的屬性。

爲了使NetBeans的對待你的組件作爲容器(或不是容器):

  • 切換到源視圖
  • 找到這行:
    // Here you can add code for customizing the BeanDescriptor.
  • 加入這一行:
    beanDescriptor.setValue("isContainer", Boolean.TRUE); // Or FALSE if it's not a container
+0

謝謝 - 但是當你說圖標時,你是指其中的一個顯示在調色板上的32x32圖標?或放入編輯器時出現的實際圖像。我對編輯器中出現的圖像感興趣。 – Ryan 2010-07-29 15:01:34

+0

圖標顯示在調色板中。編輯器中的演示文稿是組件描繪自己的結果。如果在編輯過程中需要執行不同的繪畫,可以通過檢查java.beans.Beans.isDesignTime()的值來實現。 – 2010-07-29 15:08:04

+0

我知道這是檢查是否正在編輯的地方,但我在哪裏提供了它在gui設計器中的渲染細節?我一直在看豆javadocs,但沒有多少運氣。 – Ryan 2010-07-30 04:37:38