我有一个带有字符串的JCombobox,我想选择一个。我按照多库元上的说明创建了数组,就像这里建议的那样。我需要字符串将它进一步传递给另一个类。如果我想通过s,它将无法工作,因为它是在itemStateChanged中声明的。如果我试图设置x = s,也不能工作,因为s是用封闭类型定义的。所以我的问题基本上是,我怎样才能把String s拿出来呢?
String[] strategies = {"Select Strategy", "FastestAppFirst", "SmallestAppFirst", "BestFitFirst"};
final JComboBox comboBox = new JComboBox(strategies);
contentPane.add(comboBox, "2, 2, fill, default");
String x="";
comboBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
String s = comboBox.getSelectedItem().toString();
}
});提前谢谢。
发布于 2013-11-11 13:54:28
将您的x或s变量声明为类的字段,它将是工作的。或者用这样的方法:
comboBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
String s = comboBox.getSelectedItem().toString();
//passToAnotherClassMethod(s);
}
});阅读教程 for JComboBox
发布于 2013-11-11 13:54:02
定义类的字段并将所选内容存储在字段中。或者在需要选择的类中定义一个方法,并在itemStateChanged()中调用该方法。
targetClass.setSelection(comboBox.getSelectedItem().toString());https://stackoverflow.com/questions/19907970
复制相似问题