问题标签 [event-dispatch-thread]
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.
java - 完成所有其他进程后,用 InvokeLater 显示的框架
恐怕这个有点棘手,因为我无法在我为这个问题编写的示例中重新创建问题(下面的示例完美运行)。希望有人可能对实际应用程序可能存在的问题有所了解。我编写了一个执行几个长文本操作的应用程序。每个操作都在自己的线程中完成。有一个由线程更新的框架,让用户看到一切进展如何。
问题在于,只有在所有线程都完成了它们的工作之后,框架才会显示发送给它的所有更新。
我已将整个应用程序简化为下面的代码,但正如我所说的,问题在于它可以在这里工作。任何想法都非常受欢迎。
java - Why do I need to have a runnable instead of calling directly from main?
Simple code from java.sun:
I can put all of this method into main(), but why do I need a separate run method that also implements the runnable to execute it? What is the idea behind this concept? Thanks.
java - java SwingWorker 从 doInBackground() 启动可运行对象以及如何通知事件调度线程
刚学会SwingWorker
并有一个问题
(我已经搜索了这个问题的答案,但没有专门解决这个设置)
我正在创建一个小型服务器,它最多只能同时连接 2-3 个连接。
我正在使用Jframe
具有内部类的SwingWorker
在 SwingWorkerdoInBackground()
我有:
Connection
是 arunnable
并声明为 中的子类SwingWorker
。
在runnable
完成之前,它会在 SQL 中写入一个条目。
那么这个runnable如何在它死之前向Jframe
事件调度线程发送一个提示。
并且Jframe
将检查新条目的 SQL 并将其显示给用户。
最好做什么:
1 - 创建一个接口,所有可运行的都可以向Jframe
事件调度线程发送消息。
2 -对所有新连接使用SwingWorker
insted并在服务器中调用一个方法,该方法在使用中调用方法runnables
Done()
SwingWorker
Jframe
EventQueue.invokeLater..
3 - 或使用 PropertyChangeListener (不知何故不确定)
4 - 让每个 runnables 都有 s ref to Jframe
and doEventQueue.invokeLater..
java - 为什么 JCheckBox 上的 setSelected 会失效?
有人可以向我解释为什么我在放入时丢失了选择(由设置)setSelected()
吗?这是一个错误吗?JCheckBox
JOptionPane
ItemListener
奇怪的是,如果这个过程被,按我预期的那样正常工作invokeLater()
。setSelected()
来自SSCCE
java - 你如何在 catch 块中进行摇摆调用
在 catch 块中,我想向 textArea 显示一条错误消息以显示发生的错误。
java - 查找事件调度线程违规
我们都知道我们应该从事件调度线程执行所有与 GUI 相关的任务,否则可能会引入奇怪的错误 - 我试着记住这条规则,但我必须承认我最近注意到了几个我没有注意到的地方。
有没有办法识别所有违反此规则的行为,以便修复它们?我已经看到这里有一个相关的 findbugs 规则,但它似乎并没有为我捕获所有案例。即使在发生违规时抛出异常也会很好,因此我可以修复它(或捕获异常并记录警告,以防用户遇到相关问题。)
人们通常对此采取什么方法?
java - java - 如何在java中检测主线程何时冻结GUI?
我想检测主线程中的一些耗时操作何时导致 gui 冻结。我的目标是自动设置和取消设置等待光标。
谢谢
java - 添加 JTextField 时不显示任何内容
如果我将代码从第一个示例更改为第二个示例,则不会显示任何内容(请参见屏幕截图:
主类:
毕达哥拉斯(截图 1):
毕达哥拉斯(截图 2):
毕达哥拉斯(截图 3):
java - 如何指示 JComboBox 正在加载值?
我有一个 JComboBox,它的值是通过网络检索的。
我正在寻找一种方法向用户表明这一事实,当用户想要查看列表时,展开下拉列表,然后才检索数据。
基本要求包括:
- JComboBox 的下拉菜单不应锁定 EDT,但组合的操作在有值之前不应起作用。
- 用户应该知道何时检索到所有数据。
- 指示的大小(UI 房地产)应尽可能小。
请注意,在用户想要查看组合值(即展开下拉列表)之前,不会检索数据。
我使用的解决方案:
我用 aSwingWorker
来保持 UI 响应。组合框是使用 JIDE 和 JIDE 覆盖的Overlayable
,JIDEInfiniteProgressPanel
会听取工作人员的声音。
java - 何时使用 SwingUtilies.invokeAndWait/invokeLater
我在某处读到,对于影响 gui 视觉效果的任何线程,它应该使用 SwingUtilities.invokeAndWait/invokeLater 在 EDT 中运行
new SwingGUI().setVisible(true);
对于基本的 gui,是否有必要使用 invokeAndWait 在 EDT 行中添加类似内容?只是为了展示?
这算不算?