2011-09-20 69 views
6

是否有可能隱藏隱藏JComBox箱箭

在JComboBox中顯示的箭頭我已嘗試設置:

combo.getComponent(0).setSize(new Dimension(1,1)); 

但它似乎沒有工作

+0

[此問題]的副本(http://stackoverflow.com/questions/7243135/how-to-remove-the-arrow-down-in-the-jcombobox) – Mansuro

+0

和重複的評論:爲什麼?不發明ui小部件,用戶會感到困惑! – kleopatra

回答

8

你必須創建一個新的組合框用戶界面爲:

combo.setUI(new BasicComboBoxUI() { 
    protected JButton createArrowButton() { 
     return new JButton() { 
      public int getWidth() { 
       return 0; 
      } 
     }; 
    } 
}); 

但要小心繼承基本的用戶界面,它與你目前的外觀相匹配感覺。

例如,如果您正在使用物質,您應該從SubstanceComboBoxUI而不是BasicComboBoxUI獲得新的UI。如果你想這對獲得某種自動完成功能的最好是堅持使用正常JTextField和使用AutoCompleteDecoratorSwingX:否則,你就可能釋放您的電流I & F.

編輯提供的功能。

+0

thanx。另外,我注意到,當我點擊繪製向下箭頭的空間時,組合框下降,是否有可能避免這種行爲? – Akash

+2

-1脆性劈... @Akash如果你不想組合框的行爲,那麼就不要使用組合 – kleopatra

+0

@DR。請改變與返回AbstractButton與圖標#空 – mKorbel

2

我一直在尋找一個解決方案,這有一段時間了,而且事實證明,所有這真的需要被記住JComboBox是一個複合組件。

for (Component component : TheComboBox.getComponents()) 
{ 
    if (component instanceof JButton) { 
     TheComboBox.remove(component); 
    } 
} 

由於去mKorbelreminder

+0

removeAll()也是有效的 –

相關問題