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



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

private int value1int;

    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;
   }
}

刷新屏幕

最新更新