event-dispatch-thread相关内容

从 JButton 调用方法会冻结 JFrame?

我正在为班级做一个基本的乒乓球游戏.我有 Pong 工作,并且在启动时有一个 GUI 显示,不幸的是我似乎无法从开始 JButton 开始游戏.我已经评论了代码的问题所在,并删除了不相关的代码. frame.add(GUIPanel);JButton startButton = new JButton("开始!");GUIPanel.add(startButton, BorderLayout. ..
发布时间:2022-01-24 14:08:52 Java开发

执行 JavaMail 时所有 JFrame 冻结

我开发汽车管理系统程序.然后我想在汽车进出时给这家公司的老板发邮件.我的代码可以成功发送邮件,但我注意到在发送邮件时,其他 JFrame 窗口被冻结(我无法在所有 JFrame 窗口上执行任何操作),直到邮件发送完成.这通常适用于 Javamail 还是有办法让其他 JFrame 仍然工作? 在我的程序中,完成发送一封邮件大约需要 10 秒. 解决方案 当你做繁重的任务时,你应该在另 ..
发布时间:2022-01-24 13:39:49 Java开发

聊天应用程序中的错误

我是java新手.我试图制作聊天应用程序,但是当我运行单个客户端时会出现一些错误.为什么文本区域和文本字段不显示.我得到的是由于 accept function 而发生这种情况.当编译器到达接受函数时,应用程序变得忙碌.即应用程序的屏幕什么都不显示. 客户一号代码: import java.awt.*;导入 java.awt.event.*;导入 javax.swing.*;导入 java ..

在 Java 小程序中显示 FTP 文件上传期间的进度

好的,我让上传者使用 Java FTP 上传文件,我想更新标签和进度条.带有百分比文本的标签,带有百分比 int 值的条形图.现在使用当前代码只能在上传结束时获得 100 条和完整条.在上传期间,它们都没有改变. 这里是: OutputStream 输出 = new BufferedOutputStream(ftpOut);CopyStreamListener listener = ne ..
发布时间:2022-01-09 11:14:30 Java开发

问题:创建一个非常准确的挥杆计时器

为了使 SwingTimer 准确,我喜欢@Tony Docherty 建议的逻辑和示例在 CR 上.这是链接.> 为了突出给定的单词,一次又一次,总会有几微秒的延迟.如果我有话要强调说:“你好,你好"并且每个单词的值分别是(延迟):200,300,400 ms,那么计时器所花费的实际时间总是更多.假设不是 200 毫秒,而是需要 216 毫秒.像这样,如果我有很多话..最后,额外的延迟很明显. ..
发布时间:2021-12-31 15:46:49 Java开发

从可运行对象更新 GUI

我正在构建一个 Swing 应用程序,其中一部分功能应该是处理和输出一些视觉和听觉文本(使用 Mary TTS).我需要一些关于 GUI 和文本处理类进行通信的最佳方式的建议. GUI 类是 JPanel 的子类.其中我有一个实现 Runnable 的类,称为 LineProcesser,它准备将文本发送到音频播放器.我正在使用线程执行器来避免 EDT(这可能不是最好的方法,但它似乎达到了我 ..

为什么我的 JTextArea 没有更新?

我的代码如下: class SimplifiedClass 扩展 JApplet {私有 JTextArea 输出文本;//很多方法公共无效做一切(){字符串输出 = "";for(int i = 0; i 然而,当 setText 被调用时,它不是在循环的每次迭代后更新文本区域,而是在任务的所有运行完成后才更新文本.为什么会发生这种情况,我该如何解决? 解决方案 您可能正在使用 S ..
发布时间:2021-12-28 22:52:05 Java开发

防止 Swing GUI 在后台任务期间锁定

我有一个存储对象列表的 Swing 应用程序.当用户点击按钮时, 我想对列表中的每个对象执行两个操作,然后在完成后将结果绘制在 JPanel 中.我一直在尝试 SwingWorker、Callable &Runnable 进行处理,但无论我做什么,在处理列表时(可能需要几分钟,因为它受 IO 限制),GUI 被锁定. 我有一种感觉,这可能是我调用线程的方式或其他方式,或者可能与图形功能 ..

Swing - 更新标签

我有一个消息标签和一个提交按钮.提交按钮将被多次按下,每次按下的操作最多可能需要一分钟. 当按钮按下时,我想将消息设置为空,任务完成后,我想将消息设置为“完成". private void submitActionPerformed(java.awt.event.ActionEvent evt) {消息 = "";更新消息标签();做任务();/* 此更新适用于完成后的标签 */messa ..
发布时间:2021-11-25 17:59:50 Java开发

SwingUtilities.invokeLater 有什么作用?

SwingUtilities.invokeLater 有什么作用?它只是在其 run 方法中延迟了代码块的执行吗?在 invokeLater 函数中调用一个动作或在我们想要执行的线程的末尾简单地调用它有什么区别?任何人都可以帮助我了解 invokeLater 函数的真正作用吗? 解决方案 正如其他答案所说,它在 AWT 事件调度线程上执行您的 Runnable.但是你为什么要这样做呢?因为 ..
发布时间:2021-11-25 15:19:34 Java开发

对单个线程使用 sleep()

我对 Java 还很陌生,我开始使用不同的线程以便在我的代码的一部分上使用 wait() 或 sleep()并让其他人继续运行. 对于这个项目,我将 JFrame 与 javax.swing.* 和 java.awt.* 导入一起使用.我想要做的是让其中一个线程(在我的代码中它是主要的起始线程)允许玩家在井字棋盘上选择一个空间,当他们点击它时,它会改变图标,并且然后 AI 将等待 1 秒,然 ..

SwingUtilities.invokeLater

我的问题与 SwingUtilities.invokeLater 有关.我应该什么时候使用它?每次需要更新 GUI 组件时都必须使用吗?它究竟有什么作用?是否有替代它的方法,因为它听起来不直观并且添加了看似不必要的代码? 解决方案 每次需要更新 GUI 组件时都必须使用吗? 不,如果您已经在事件调度线程 (EDT) 上,则不会,这在响应用户发起的事件(例如点击和选择)时总是如此. ..
发布时间:2021-11-25 13:03:57 Java开发

Java Event-Dispatching Thread解释

我最近开始学习和探索 Java 中 GUI 编程的基础知识. 编程一段时间后,我只做过后端工作或工作,因此,我最接近用户界面的是命令控制台(我知道这很尴尬). 我正在使用 Swing,据我所知,这意味着我也在使用 AWT. 我的问题是基于这段代码: java.awt.EventQueue.invokeLater(new Runnable() {公共无效运行(){新的 frame ..
发布时间:2021-11-25 12:57:24 Java开发