【发布时间】:2014-04-28 18:36:30
【问题描述】:
我有 2 个组合框,我需要制作它,以便从下拉列表中选择某些选项时,输出某些结果。如何将某些字符串变量或对象与多个组合框选择相关联。我不是要你为我做作业。只需要指出正确的方向。
public class gui extends JFrame implements ActionListener{
String[] colour1 = {"red", "blue", "green", "orange", "brown","white", "black", "yellow", "purple", "pink"};
String[] colour2 = {"red", "blue", "green", "orange", "brown","white", "black", "yellow", "purple", "pink"};
JComboBox combo1 = new JComboBox(colour1);
JComboBox combo2 = new JComboBox(colour2);
JLabel message = new JLabel();
JFrame frame = new JFrame();
JPanel panel = new JPanel(new GridLayout(0, 1));
public gui() {
panel.add(combo1);
panel.add(combo2);
panel.add(message);
frame.add(panel);
}
我正在使用 actionPerformed 来捕捉用户的输入,然后输出特定的结果。目前它只取一个组合框的值并输出一个字符串。我如何让它花费 2.
public void actionPerformed(ActionEvent e){
if(e.getSource() == combo1){
JCombobox cb = (JComboBox)e.getSource();
String colours = (String) cb.getSelectedItem();
switch(colours){
case "red": message.setText("");
break;
case "blue": message.setText("");
break;
case "green": message.setText("");
break;
case "pink": message.setText("");
break;
case "purple":message.setText("");
break;
case "white": message.setText("");
break;
case "black": message.setText("");
break;
case "brown": message.setText("");
break;
case "orange": message.setText("");
break;
case "yellow": message.setText("");
break;
default: message.setText("");
}
}
}
【问题讨论】:
-
你为什么对每个案例都做同样的事情?
-
为什么要创建两个具有相同值的数组?
-
你的问题不清楚。请多解释一下。
-
数组具有相同的值,因为我要输出的字符串可能与 2 种不同的颜色相关联。每个案例都有不同的输出消息,我刚刚写过。
标签: java arrays swing actionlistener jcombobox