我在使用两个组合框影响一项的状态时遇到一些麻烦。每个组合框都有一个介于 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/