0

2 つのコンボボックスを使用して 1 つのアイテムの状態に影響を与えるのに問題があります。各コンボ ボックスの値は 1 ~ 99 です。それぞれの値を変更して結合し、この値を jlabel に表示しようとしています。これまでのところ、最初のコンボボックスだけが式に影響を与えているようです。私はそれを次のように簡略化しました。助けてくれてありがとう:)

プライベート 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();
4

1 に答える 1

1

あなたはそのようなことをしなければなりません:

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

彼らは画面をリフレッシュします

于 2013-05-31T02:09:17.163 に答える