これは私の最初の投稿であり、私はそれを正しくやっていると思います.
AutoComplete jComboBox からユーザー入力を取得し、テキスト ファイルに保存する入力を送信するプログラムがあります (AutoComplete はライブラリ glazedlists_java15/1.8.0 を使用して行われます)。
オートコンプリート機能を使用した後、jComboBox を DefaultComboBoxModel に設定する必要がありました。
ユーザーがEnter キーを押すと、jComboBox はキーボードから入力された新しい項目でリストを更新する必要があるため、ユーザーは jComboBox リストで最後に入力された項目を確認できます。
これは、jComboBox からすべての項目を削除してから、再度挿入することによって行われます。
問題は、オートコンプリート機能を使用する前に、jComboBox1.removeAllItems();と言うことができたことです。しかし、今はモデルのために、 model.removeAllElements();でそれをしなければなりません。
public class Test {
final static DefaultComboBoxModel model = new DefaultComboBoxModel();
static JComboBox c = new JComboBox(model);
private static final long serialVersionUID = 1L;
private static JButton b = new JButton();
static JFrame f = new JFrame();
/**
* @param args
*/
public static void TestFrame() {
String[] a = {"hi1" , "hi2", "hi3", "hi4","hi5"};
AutoCompleteSupport support = AutoCompleteSupport.install(c,
GlazedLists.eventListOf(a));
JPanel test = new JPanel();
test.add(b);
test.add(c);
model.addElement(a);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
model.removeAllElements();
}
});
f.add(test);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setSize(500,500);
}
問題は、model.removeAllElements(); およびmodel.addElement(s); が機能していないため、jComboBox を更新できません。時間をかけて解決策を見つけてください。ありがとう!