【问题标题】:Java - listeners in SwingJava - Swing 中的监听器
【发布时间】:2012-08-03 13:14:18
【问题描述】:

我开始在 Java Swing 中编写一些代码,并且在 Swing 提供的侦听器层次结构中有些混乱。也就是说,我想知道何时使用 ActionListener 而不是 ListSelectionListener,以及如何区分何时从 UI 调用特定侦听器,即在用户交互之后。

非常感谢您的回复。

【问题讨论】:

  • 监听器总是会从你附加的对象中被调用。要区分哪个 UI 元素是引发事件的元素,您可以使用事件类中提供给侦听器的源字段。
  • 你能举一个简短的例子来说明如何将元素提供给听众吗? S对不起,我是这方面的初学者......

标签: java swing listener


【解决方案1】:

关于ActionListener

每当用户执行一个动作时,就会发生一个动作事件。 示例:当用户单击按钮、选择菜单项、按下 在文本字段中输入。结果是一个 actionPerformed 消息 被发送到在相关的注册的所有动作监听器 零件。 reference

关于ListSelectionListener

列表选择事件发生在列表或表格中的选择是 要么改变,要么刚刚改变。触发列表选择事件 来自实现 ListSelectionModel 接口的对象。到 获取表格的列表选择模型对象,您可以使用 getSelectionModel 方法或 getColumnModel().getSelectionModel()。 reference

问。如何区分何时从 UI 调用特定侦听器,即在用户交互之后。

以上详细信息和参考资料包含很多入门信息。

【讨论】:

    【解决方案2】:

    ActionListener 用于例如对于JButton,它只是告诉 GUI 元素做了一些事情(一个按钮除了被点击不能做任何事情)。

    ListSelectionListener 包含更多信息(选择了哪个元素)。

    有关何时使用 Listener 的更多信息,请查看您要使用的元素的 javadoc。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 2013-01-07
      • 2013-04-24
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多