java - 如何通过更改不同的组合框值来影响 jlabel

标签 java swing jcombobox itemlistener

我在使用两个组合框影响一项的状态时遇到一些麻烦。每个组合框都有一个介于 1 和 99 之间的值,我试图更改每个组合框中的值,将它们组合起来,然后在 jlabel 上显示该值。到目前为止,我只能看到第一个组合框似乎影响了公式。我已将其简化为以下内容,感谢您的帮助:)

私有(private) int value1int, value2int;

    value1.addItemListener(new ItemListener() 
    {
        public void itemStateChanged(ItemEvent ex) 
        {
            if (ex.getStateChange() == ItemEvent.SELECTED) 
            {
                // assume single selection
                int value1int = (Integer)ex.getItemSelectable().getSelectedObjects()[0];
            }
        }
    });

    value2.addItemListener(new ItemListener() 
    {
        public void itemStateChanged(ItemEvent exs) 
        {
            if (exs.getStateChange() == ItemEvent.SELECTED) 
            {
                // assume single selection
                int value2int = (Integer)exs.getItemSelectable().getSelectedObjects()[0];
            }
        }
    });


    overallValue2.setText((Integer.toString(value1int + value2int)));
    overallValue2.revalidate();

最佳答案

你必须做这样的事情:

public class GUI extends JFrame ...

private int labelVal;

...


// combobox events - The same code to both comboboxes must works

public void itemStateChanged(ItemEvent exs) 
{
   if (exs.getStateChange() == ItemEvent.SELECTED) 
   {
       // assume single selection
       int aux = (Integer)combobox1.getSelectedItem()+(Integer)combobox2.getSelectedItem();
       int labelVal= aux;
   }
}

他们刷新屏幕

关于java - 如何通过更改不同的组合框值来影响 jlabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848687/

相关文章:

java - 序列化双括号初始化 Map

java - hibernate 延迟加载

java - 在命令行中指定抗锯齿属性

java - 如何在Mysql数据库中插入jcombobox值

Java Swing : Custom Cell Editor does not return most recent value

java - 故障安全迭代器和弱一致性迭代器

java - 取消文件打开对话框后出现 InterruptedException - 1.6.0_26

java - 设置默认 LAF 的 JTextField 尺寸

java - Swing 中的窗口最小化

java - 为什么我的代码不能同时运行两个面板?当我运行它时它没有显示任何东西,但它编译