【问题标题】:use the name of combo box in java for actionperformed [closed]在java中使用组合框的名称进行操作[关闭]
【发布时间】:2014-12-24 19:33:41
【问题描述】:

我有 2 个或更多组合框,我想从 (ActionListener) 中使用这些组合框,但我不知道如何使用 (actionPerformed) 中的组合框名称

comboBox1= new JComboBox(items);    
comboBox1.addActionListener(this);    
comboBox1.setName("com");    
comboBox2= new JComboBox(items);    
comboBox2.addActionListener(this);    
comboBox2.setName("com");    

@Override    
public void actionPerformed(ActionEvent e) {    
}

但我不知道如何在此 (actionPerformed) 中使用这些组合框,因为我有 2 个组合框,但其中一个无法使用。
谢谢

【问题讨论】:

  • ActionEvent(提供给监听回调)包含什么?
  • 您好,欢迎来到 StackOverflow!您能否向我们展示您所讨论问题的一些代码/图片,以便我们进一步帮助您解决问题?

标签: java swing actionlistener jcombobox


【解决方案1】:
  • 使用JComboBox#setActionCommand,触发时将设置ActionEventactionCommand属性
  • ActionEventsource 属性与组合框的实例进行比较
  • 为每个组合框使用一个 ActionListener
  • 请改用Action API。详情请见How to Use Actions

【讨论】:

  • xxxClientProperty 应该是标准方式,如果没有 Swing Action,那么一切都会变得更容易,我会为 JComboBox 使用 ItemListener(如果事件通知另一个,不同的对象)
  • xxxClientProperty 对我来说总是有点脏(但这只是我)。在这种情况下setActionCommand 将是最好的解决方案,但我更喜欢使用专用的ActionListenerAction。在这些情况下,ItemListener 并没有太多用处,个人更喜欢ActionListener,但这归结为需求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多