2011-05-04 44 views
5

javax.swing.JComboBox類不支持setText方法。有沒有辦法可以設置可編輯組合框的文本?喜歡的事,我可以打電話給jcombobox1.setText("Text has changed!");JComboBox setText方法

+0

您是否正在設置組合框的文本爲_any_值,還是從組合框模型中的值列表中選擇一個? – 2011-05-04 22:48:56

回答

12

一旦您設置JComboBox時爲可編輯的,你可以這樣做:

String item = box.getEditor().getItem().toString(); 

,以獲取用戶輸入或選擇的字符串。並且

box.getEditor().setItem("Text Has Changed"); 

設置您自己的文本。

+1

不應該是setItem()(因爲問題想設置值)而不是getObject()(它是Java 6中的getItem())? – Jerome 2011-05-04 22:17:23

+0

@Jerome是的。我會糾正它。這就是你太急躁的原因。 – 2011-05-04 22:38:36

+0

非常感謝! :) – 2011-05-04 23:28:02

8

您可以設置selectedItem設置爲你想要的任何值:

comboBox.setSelectedItem("text has changed"); 

注意,將selectedItem明確記錄在案,以允許它們不是模型的一部分元素。