首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JCombobox,getSelectedItem() out ItemListener

JCombobox,getSelectedItem() out ItemListener
EN

Stack Overflow用户
提问于 2013-11-11 13:47:39
回答 2查看 912关注 0票数 0

我有一个带有字符串的JCombobox,我想选择一个。我按照多库元上的说明创建了数组,就像这里建议的那样。我需要字符串将它进一步传递给另一个类。如果我想通过s,它将无法工作,因为它是在itemStateChanged中声明的。如果我试图设置x = s,也不能工作,因为s是用封闭类型定义的。所以我的问题基本上是,我怎样才能把String s拿出来呢?

代码语言:javascript
复制
    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();
        }
    });

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 13:54:28

将您的xs变量声明为类的字段,它将是工作的。或者用这样的方法:

代码语言:javascript
复制
comboBox.addItemListener(new ItemListener() {

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

阅读教程 for JComboBox

票数 3
EN

Stack Overflow用户

发布于 2013-11-11 13:54:02

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

代码语言:javascript
复制
targetClass.setSelection(comboBox.getSelectedItem().toString());
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19907970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档