【问题标题】:Is there a way to see which of 2 JComboBox's has been modified in the ActionListener?有没有办法查看 ActionListener 中修改了 2 个 JComboBox 中的哪一个?
【发布时间】:2013-10-29 22:55:11
【问题描述】:

我的应用程序中有 2 个 JComboBox,当我更改 1 个组合框的值时,它必须执行其他操作,而不是更改另一个组合框。 当我更改第一个时,应该修改第二个的值,但是当我更改第二个时,它应该什么都不做。 那么有没有办法查看哪个组合框发生了变化?

谢谢!

【问题讨论】:

标签: java swing actionlistener jcombobox


【解决方案1】:

当然,您应该查看event.getSource() 以找到您感兴趣的:

@Override
public void actionPerformed(ActionEvent event) {
    Object src = event.getSource();
    ...
}

【讨论】:

  • 谢谢,我使用 getSource() 错误,所以我无法弄清楚..
  • @MaartenMeeusen,`我使用的 getSource() 错误,所以我无法弄清楚` - 所以发布你的代码,显示你在发布问题时尝试过的内容。如果人们认为您确实尝试过某事,您将很快得到更好的答案。
  • 下次我会记住这一点。我还没有发布很多问题所以.. :) 感谢您的回复!
【解决方案2】:

您应该能够将它们与 ActionEvent 的 getSource() 对象区分开来。

或者,您可以使用setActionCommand() 方法和getActionCommand() 设置不同的“操作命令”

【讨论】:

  • getSource() 成功了。也感谢您的替代方案。我不知道那个。
【解决方案3】:

你也可以直接在你需要监听的组合框中添加一个匿名的actionListener:

comboOne.addActionListener(new ActionListener() 
{
    public void actionPerformed(ActionEvent e) 
    {
        // make changes to comboTwo
    }
});

【讨论】:

  • 很好,这很方便!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多