【问题标题】:Swing - replacement for Qt signal/slotsSwing - 替代 Qt 信号/插槽
【发布时间】:2011-09-06 08:45:03
【问题描述】:

在 Qt GUI 中,使用信号和插槽非常方便——它可以解耦事件传递。当我创建一些抛出信号的小部件时,我不必事先知道谁可以得到它,然后用connect 指定连接。

什么是 Java/Swing 中的并行?你能指出关于这个问题的好资源吗?

【问题讨论】:

  • 好久没用Java了,不就是给事件加个监听器吗?
  • @San Jacinto:Qt 也有事件,但也有信号和槽,更方便频繁
  • Qt 事件与 Swing 事件不同。 Swing 事件监听器更接近 Qt 的事件过滤器。

标签: java swing qt pyqt signals-slots


【解决方案1】:

如果现有的EventListener 实现都不符合您的要求,您可以创建自己的自定义事件。每个JComponent 都包含一个EventListenerList 类型的字段。您可以使用EventListenerList API 中概述的方法来启用您的自定义JComponent 子类来触发您的自定义事件。

关于信号/槽机制,Swing 有几种方法来实现observer pattern,概述here

【讨论】:

    【解决方案2】:

    Event Listener tutorial 介绍了使用侦听器处理事件的基础知识。

    为信号连接插槽类似于将 EventListener 添加到事件生成对象。

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 2020-10-01
      • 1970-01-01
      • 2012-10-15
      • 2015-07-18
      • 2013-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多