Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JCombobox,从ItemListener中获取SelectEdItem()_Java_Swing_Combobox - Fatal编程技术网

Java JCombobox,从ItemListener中获取SelectEdItem()

Java JCombobox,从ItemListener中获取SelectEdItem(),java,swing,combobox,Java,Swing,Combobox,我有一个带有字符串的JCombobox,我想选择一个。我按照上面的说明创建了数组,就像上面建议的那样。我需要字符串将其进一步传递给另一个类。如果我想传递s,它将不起作用,因为它在itemStateChanged中声明。如果我尝试设置x=s,也不会起作用,因为s是在封闭类型中定义的。所以我的问题基本上是,我如何得到字符串s String[] strategies = {"Select Strategy", "FastestAppFirst", "SmallestAppFirst", "Be

我有一个带有字符串的JCombobox,我想选择一个。我按照上面的说明创建了数组,就像上面建议的那样。我需要字符串将其进一步传递给另一个类。如果我想传递
s
,它将不起作用,因为它在
itemStateChanged
中声明。如果我尝试设置
x=s
,也不会起作用,因为
s
是在封闭类型中定义的。所以我的问题基本上是,我如何得到
字符串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();
        }
    });

提前非常感谢。

定义类的字段并将所选内容存储在字段中。或者在需要选择的类中定义一个方法,并在
itemStateChanged()
中调用该方法


定义类的字段并将所选内容存储在该字段中。或者在需要选择的类中定义一个方法,并在
itemStateChanged()
中调用该方法


将您的
x
s
变量声明为类的字段,它将起作用。或者使用这样的东西:

comboBox.addItemListener(new ItemListener() {

    @Override
    public void itemStateChanged(ItemEvent e) {
        String s = comboBox.getSelectedItem().toString();
        //passToAnotherClassMethod(s);
    }
});

对于
JComboBox

来说,将
x
s
变量声明为类的字段,它将起作用。或者使用这样的东西:

comboBox.addItemListener(new ItemListener() {

    @Override
    public void itemStateChanged(ItemEvent e) {
        String s = comboBox.getSelectedItem().toString();
        //passToAnotherClassMethod(s);
    }
});
对于
JComboBox