0
私は2つのコンボボックスでパネルを作成することになっていました.2番目のコンボボックスの項目は、最初のコンボボックスで選択した項目に依存する必要があります。以下は、私が行ったことのコードスニペットです。これがうまく書かれていれば謝罪します。そんなことをするのは初めてのことです。JComboBoxとDefaultComboBoxModelのJavaでの使用
// Sets up comboSearch and comboFor
String[] searchList = {"Class", "Member", "Procedure"};
final String[] forClassList = {"Parent", "Child", "Procedures", "Members", "All"};
final JComboBox comboSearch = new JComboBox(searchList);
final DefaultComboBoxModel<String> model = new DefaultComboBoxModel(forClassList);
final JComboBox comboFor = new JComboBox(model);
searchSelect = (String) comboSearch.getSelectedItem();
comboSearch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
searchSelect = (String) comboSearch.getSelectedItem();
System.out.println(searchSelect);
switch (searchSelect) {
case "Class":
model.removeAllElements();
model.addElement("Parent");
model.addElement("Child");
model.addElement("Procedures");
model.addElement("Members");
model.addElement("All");
break;
case "Member":
model.removeAllElements();
model.addElement("Owner");
break;
case "Procedure":
model.removeAllElements();
model.addElement("Owner");
model.addElement("Owner Parent");
model.addElement("Owner Users");
break;
}
}
});
comboFor.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
forSelect = (String) comboFor.getSelectedItem();
System.out.println(forSelect);
}
});
問題は、私は私が最初のコンボボックスから選択したときに、これを実行しようとするたびに、null
は、実際の値の前に印刷されていることです。私はこれがコードのmodel.removeAllElements();
の部分のためだと思います。
以下は出力のスクリーンショットです。
、このいずれかを最適化するための任意の提案は非常に高く評価し、歓迎されています。
おかげで、
私はこれを実装しようとします。どうもありがとう。 – esjeidee