问题标签 [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.

0 投票
2 回答
9177 浏览

java - 从 JPanel 中动态删除组件

这是解释问题的可运行代码 -

我可以删除 s1 和 s2 但不能删除 s3。
这似乎与 MigLayout 无关(我碰巧正在使用它),因为我也看到默认布局的相同行为。

0 投票
3 回答
2535 浏览

java - 需要刷新 Java EDT(事件调度队列)

我有一个 Java 应用程序,其中许多线程正在快速写入 StyledTextBox。在某个时刻,所有线程都被终止。但是,TextBox 继续接收文本可能是因为调度队列有点备份。是否有可能以某种方式强制刷新 EDT,以便在线程终止时立即结束对 TextBox 的更新?

谢谢你,吉姆

0 投票
1 回答
3190 浏览

java - 为什么我在线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException: 2 中出现异常?

每次尝试更新 JTable 中的数据时都会出现此错误:

数据似乎更新得很好,但是出了点问题,它甚至没有引用我的任何代码,这让我很困扰。经过一段时间的调试,我确定以下代码行导致了问题:

当我单击一个按钮以过滤列表时,该线程被创建并启动,然后返回到数据库以获取更多可能超出已获取数据的数据。我计划稍后确定是否需要新的提取,并且仅在这种情况下执行上述操作,否则仅过滤已提取的结果。

0 投票
3 回答
4759 浏览

java - 与应用程序代码同时工作的 Java 进度条

我是java初学者。所以请让我知道如何同时运行进度条和我的应用程序代码。换句话说,只要我的应用程序代码正在做一些处理,我想让我的进度条增加。请详细说明它与代码。我认为我必须同时添加两个线程。一个线程更新进度条线程但我不确定它是否正确。我已经编写了这段代码来增加进度条(硬编码)

0 投票
2 回答
559 浏览

java - 焦点丢失后推迟事件队列

我有JTable一个自定义单元格编辑器。编辑器实现FocusListener,因此如果用户单击远离单元格,我可以检查单元格的内容是否有效。

我想使用JOptionPaneinside focusLost(in the EventDispatchThread)来允许用户选择是恢复到旧值还是接受调整后的值。

这就是问题所在;如果用户正在编辑一个单元格,然后单击远离表格的按钮,则该按钮在返回之前actionlisteners会收到警报。 JOptionPane

这就是我想要发生的事情:

  • 用户编辑单元格
  • 用户点击按钮
  • 单元格检测到焦点丢失
  • 显示 JOptionPane 并且用户选择操作
  • JOptionPane 关闭并设置单元格的值
  • Button 的 actionListeners 被调用

相反,这种情况正在发生:

  • 用户编辑单元格
  • 用户点击按钮
  • 单元格检测到焦点丢失
  • 显示 JOptionPane 并且用户选择操作
  • Button 的 actionListeners 被调用
  • JOptionPane 关闭并设置单元格的值

是否可以将按钮的操作事件推迟到JOptionPane关闭之后?

从其他线程中,我读到它JDialog确实可以确保事件调度继续进行,因此 Dialog 本身可以处理事件。

0 投票
1 回答
396 浏览

java - EDT 和其他 Thread 关系关于 repaint() 方法 java

如果 GUI 确定由 EDT 构建,是否对其他一些线程调用重绘调用在 EDT 上调用绘画?如果没有,我如何确保它确实有效,效率越高越好。

0 投票
3 回答
198 浏览

java - 从控制台获取输入后不出现 Swing 窗口

我有一个简单的摆动窗口来加载文件。

这出现在类analyzedLoad中,在一个函数中analyzedloads()

我在没有用户输入的情况下应用该功能,一切都很好。但是在我从用户那里得到输入的地方,以这种方式:

窗口不出现,进程继续运行,不做任何事情。

谢谢。

0 投票
2 回答
9833 浏览

java - 处理时更新 JProgressBar

我知道这个主题已经在很多问题上看到并得到了回答,但我仍然无法通过它。

我只想在提取大型 xml 文件的一些内容时更新进度条。我认为在不同的线程中进行耗时的循环就足够了,但是?.. 我设法得到的只是 progressBar 要么根本不显示,要么在最后更新,就在它关闭之前。

在应用程序启动附近的某个地方实例化,我有:

在使用 JProgressBar 显示和更新 JDialog 时:

所以我有这个myXMLParser

我已经看到很多使用事件SwingWorker和使用PropertyChange事件来更新进度条的事情,但是示例始终是一体的,处理和进度条在同一个类中,以及类中的类,自从我开始使用 Java 以来,我无法将其转化为我的情况。

任何帮助?..任何(不太明显)的建议?

编辑:所以多亏了 btantlinger,它的工作原理是这样的:

0 投票
0 回答
177 浏览

java - Java JLabel 自动更改字体

我在一个非常大的 JavaEE 应用程序中有许多不同的组件。因此,调试很痛苦,遗憾的是我无法提供准确描述我遇到的问题的 SSCCE。

简而言之,不知何故,我的字体会自行改变,例如JLabelsJTabbedPanes. 无需触摸它们,它们就被重新粉刷为粗体、斜体、大小显着变化或它们的任何组合。

简单的问题:为什么?

如果我单步执行 Eclipse 调试器,则永远不会进行任何更改。所以时间在某种程度上是一个因素。

我仍然是一个 Java 蚱蜢(一个人工作),并且没有以 EDT 是神圣对象的方式构建这个程序。我担心因为我可能不会repaint()在 EDT 上进行所有调用,所以 JTabbedPane、JLabel 和其他字体属性正在被重置和重新绘制。

编辑:

忘了说我受限于 Java 1.5。

我想我已经把它缩小到在 JLabels 和 JTabbedPane 选项卡标题中使用 HTML 的问题......但过去我不知道。关于 JTabbedPane,它使用正确的Font/FontMetrics对象进入绘图方法,但无论出于何种原因,它很少(有时更频繁;仍然没有弄清楚时间触发器)切换什么字体、样式,甚至它绘制文本的大小。

0 投票
2 回答
837 浏览

java - 将变量从一个类传递到另一个类

大家好,我是堆栈,所以如果有人可以以任何方式提供帮助,那就太好了。我正在使用eclipse,程序正在编译和运行。我有 3 个类,它们在同一个包中。因此,我想将 ThreadQuizCountdown 类中 i 的值传递给其他类 PanelQuizCountdown int 名为 timeField 的 JTextField 目前 i 显示在控制台中我一直在尝试这样做,但如果有人能帮忙,我就做不到。这是代码