2010-03-29 20 views
0

我剛剛閱讀了JComboBox的JavaDoc(我保證我有一種生活......我沒有通讀娛樂= P),並且我認爲我在程序中遇到的問題可以歸因於getSelectedItem () 方法。該文檔說:JComboBox的getSelectedItem()是什麼?

返回當前選定的項目。

如果組合框可編輯,則該值可能沒有被添加到組合框的addIteminsertItemAt或數據構造。

如果您無法獲得使用這些方法或構造函數添加的值,那麼該方法有什麼用處?以及如何可以我從「可編輯的」JComboBox獲取值?

鏈接到的JavaDoc: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JComboBox.html#getSelectedItem()

回答

2

如果你不能得到那名 用這些方法或與 構造,有什麼用的是 方法的附加價值?我怎樣才能從「可編輯的」JComboBox中獲取值 ?

這不是文檔所說的。該文檔說,所選項目可能沒有添加add/insertItem,如果用戶自己編輯/鍵入了值,則很可能是這種情況。

無論如何,getSelectedItem()會爲您提供組合框中選擇的任何內容,它是您填寫的值之一,還是用戶鍵入的值之一。

+0

啊,謝謝。我被曲解了。我正在採取「可編輯」的意思是「可變的」。 – 2010-03-29 07:33:28

2

由用戶在JComboxBox添加的額外值將不ComboBoxModel添加,但將作爲經由getSelectedItem()一個java.lang.String

0
final Object object = jComboBox.getEditor().getItem(); 
if (object instanceof String) { 
    final String string = (String)object; 
} 
0

對於在組合框模型中提供的值範圍之外允許某些輸入的情況有用。

相關問題