2013-05-14 60 views
0

我試圖實現自定義JColorChooserJColorChooser獲取組件

colorPanel.setLayout(new GridLayout(1,2)); 
    JColorChooser tcc = new JColorChooser(); 
    AbstractColorChooserPanel [] panels = tcc.getChooserPanels(); 
    for(AbstractColorChooserPanel p : panels){ 
     if(p.getDisplayName().equals("RVB")){ 
       colorPanel.add(p); 
     } 
    } 

    final JDialog j = new JDialog(jframe, true); 
    j.setSize(800, 300); 
    j.setLayout(new BorderLayout(1,2)); 
    createListColor(); 
    j.add(colorPanel); 

這種運作良好,並告訴我下面的:

enter image description here

不,我被困在我如何能得到聽衆的部件,因爲該問題是,面板沒有由我創建。我如何獲得AbstractColorChooserPanel p的組件(TextField等)?

如何捕獲窗口小部件上的事件以及如何獲取組件中的textField值?

+0

請參閱[*創建自定義選擇器面板*](http://docs.oracle.com/javase/tutorial/uiswing/components/colorchooser.html#chooserpanel)。 – trashgod 2013-05-14 16:24:51

回答

2

我不認爲有任何API來獲取單個組件。

您可以使用Darryls的SwingUtils訪問任何面板上的組件。

+0

因此,如果我們無法與JColorChooser進行交互,那麼JColorChooser的興趣是什麼? – user2336315 2013-05-14 16:24:08

+0

它通常用作獨立組件! – 2013-05-14 16:25:00

+0

@AndrewThompson所以我必須創建我的自定義面板作爲'AbstractColorChooserPanel'的子類? – user2336315 2013-05-14 16:29:10