问题标签 [event-dispatching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
169 浏览

java - 当组件被添加到 JAVA 的单独线程中时,如何立即重新绘制容器?

我正在使用java。我有一个单击事件,它在循环中将“正方形”添加到容器中。我希望每个方块在添加时都能正确显示。我尝试在单独的线程中运行“添加正方形”,但它不起作用。

这是我用于“公共类 GuiController 实现 ActionListener、MouseListener”的一些代码:

任何帮助表示赞赏!

0 投票
0 回答
13060 浏览

design-patterns - 发布者-订阅者 vs 观察者

我试图将观察者设计模式理解为主要的事件调度设计模式。观察者模式似乎是发布-订阅设计模式的类型或种类,我想知道为什么有两种外观相似的设计模式以及我应该如何在两者之间进行选择。

在这两种情况下,信息消息都在实体之间发送,并且在这两种情况下,实体都必须以某种方式注册或订阅才能接收消息。

两种设计模式之间的主要区别似乎是:

  • 观察者模式的消息量似乎较少。观察者向他们正在观察的实体注册,以便收到某个事件的通知。发布-订阅模式似乎涉及一种单向对话,一种从一个实体到另一个实体的独白,其中包含大量更多不同类型的消息。
  • 在观察者模式中,观察者期望一种特定类型的事件通知,其中发布-订阅似乎具有更开放的消息协议,具有更广泛的可能消息类型和消息内容(由特定类型的事件触发的消息之间的差异指示事件发生与更通用的消息协议相比,消息包含可能不是事件触发器的信息,例如包含由周期性计时器触发的温度数据的消息)。
  • 观察者是在应用程序的边界内或在单个进程内实现的。Publish-Subscribe 是一种跨应用程序通信模式,消息在不同进程之间交换。
  • Publish-Subscribe 具有独立的发布者、代理和订阅者实体,而 Observer 使用组合的发布者/代理和订阅者(​​观察者)实体,存在架构差异。

想到的一个想法是,在多线程应用程序中,在多个线程之间进行通信时可能会使用发布-订阅模式,而不是观察者模式。也许观察者模式可以在进程之间使用,例如一个进程向另一个进程注册,以便在事件发生时得到通知。一个例子是一个农场管理仪表板应用程序,该应用程序向多个动物饲料箱注册,如果该箱测量的饲料水平或重量低于某个阈值,则会收到通知。

这两种设计模式之间是否还有其他重要差异,可以提供选择其中一种的标准?

0 投票
4 回答
5479 浏览

java - Java 从另一个线程更新 jtable 行

我有一个多线程程序,我正在尝试使用 JTable 来查看每个线程的进度。每个线程都是一行JTable。我已经发布了我现在拥有的简化且相关的代码。每次我按下开始时,都会启动一个新线程并将该行添加到 JTable 中。但是如何从正在运行的线程中更新属于该线程的行中的“第 2 列”?

主要这就是我所拥有的

0 投票
1 回答
207 浏览

java - 使用 Swing 在 JTextArea 中呈现实时数据

不知道这是愚蠢的问题还是合理的问题。

我有返回 P5 Glove 的浮点/整数数据(x、y、z 位置)的方法(如果你知道的话)。

我也有响应手套拉动的更新方法。

我遇到的所有问题是创建 UI 并在文本区域中呈现数据,这意味着每次更新呈现数据的文本区域都会刷新并呈现数据。

由于代码不是那么短,这里是类的链接:详细介绍方法和更新

假设现在我想展示 showActiveLedPosX() 方法,它将 X 位置作为字符串返回。

其他类是 glove(使用 glove 方法并创建 glove 对象和 UI)。

我应该为 UI 使用不同的类吗?还是我应该在 ShowGloveValues 类上做这一切

我从未创建过 UI,因此我在这里有点无能为力,试图在众多资源网站上阅读它,但仍然无法实现所需的内容。

0 投票
2 回答
178 浏览

java - JTable 列未出现

我正在尝试在框架中显示一个简单的 jtable,但它没有显示表格的列,我按照 oracle 教程中的示例进行操作,但有些事情我做得不对。程序正在编译并运行。这是代码:

0 投票
2 回答
288 浏览

java - 被动侦听聊天应用程序的套接字

我目前正在开发一个总体上非常基本的聊天应用程序,但是在从客户端和服务器端接收字符串时遇到问题。我正在使用一个线程被动地在套接字上侦听传入消息,这是我怀疑问题所在。我这样做对吗?

来源:发送字符串的代码:

然后我有这个被动地听(问题可能在这里):

我也使用这个调用线程:

感谢您提供的任何帮助,我对整个线程仍然很陌生,所以我的错误可能相当平庸。

编辑:问题是当我尝试向接收者发送消息时,没有任何消息,我可以确认它们已连接。实际上 System.out.println(in.readLine()); 根本没有通过,甚至没有“空”输出。

0 投票
2 回答
3112 浏览

java - JOptionPane 给出错误

我想使用JOptionPanes 处理一些异常。这是主要方法:

MainGui是应用程序的主窗口 ( JFrame)。PriorityMessageQueue我在线程内处理了异常。

运行此程序后,出现错误

并且JOptionPane将无法正常显示!

在此处输入图像描述

我怎样才能获得 parentComponent ( ),而不是传递null给?JOptionPaneMainGui JFrame

0 投票
2 回答
1018 浏览

c# - 在 Ninject 模块中获取解析的类型

问题

在我的域层程序集中,我存储了两个接口:

EventDispatcher类也在那里定义:

表示层组件中有一个模块:

所以我不能Kernel.GetAll(IHandle<T>)在那里打电话,因为它不能解析T参数。

我怎么解决这个问题?

谢谢!

0 投票
2 回答
1663 浏览

java - JTable.removeColumn() 方法抛出异常

要仅从 JTable 的视图中隐藏一列,我正在使用该removeColumn()方法。但它抛出异常

我认为,从视图中删除列后,如果我修改了模型,则会弹出此异常。是因为模型正在更新表时视图中没有列吗?

在 JTable 中隐藏列的最佳方法是什么?而不是将大小设置为 0

编辑:异常不会定期发生。这是一个随机例外。无论如何这里是代码:

有时当我第一次加载数据时会发生上述异常,有时则不会。

0 投票
2 回答
734 浏览

.net - .NET 中的事件调度

我有一个标准的 ASP.NET MVC 3 Web 应用程序。

我有几个横切关注点,我希望使用一些 AOP,最值得注意的是事件分派器模式。

例如,当发生某些事情时,我希望在我的控制器中“引发一个事件”,然后在我的应用程序(存储库、服务等)中散布几个“监听器”,它们监听这个事件并采取相应的行动。

我还应该提到,我将 StructureMap 用于我的 IoC 容器 - 所以最好是事件调度程序为 IoC 容器使用(或可插入),而不是依赖它自己的容器。

有没有人找到一个可以执行此操作的 NuGet 包,或者可以将我指向一篇文章/问题,说明如何执行此操作?