问题标签 [awt-eventqueue]
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 - Java Swing ProgressBar 在长时间过程中不更新
我编写了一个程序,通过 TCP 套接字将数据块传输到设备。在写入每个块时,设备会返回一个确认包。程序在收到每个确认后写入下一个块。这个写/读序列不是基于时间/定时器的。当设备返回确认时,程序可以继续。
我想更新一个 JProgressBar。该程序运行良好,但 JProgressBar 不会随着事情的进行而更新。通信过程不是基于计时器的,因此处理 JProgressBar 的基于计时器的线程对我不起作用,至少我现在是这么认为的。每个接近我需要的解决方案似乎都是基于计时器的。我不认为这些会奏效,而且我试图让它们发挥作用的可行尝试完全没有成功。
对于这一部分,我想我已经接近了:我正在尝试使“EventQueue”线程工作以支持 JProgressBar,但到目前为止它还没有工作。我不是多线程应用程序方面的专家,所以请善待并具体说明。我真的很难过。
java - 在重叠面板上绘制形状,一个面板绘制固定,另一个绘制可移动
我正在创建 Swing 应用程序。它是一种带有移动对象应用的路线图。我将我的形状组件分成两个JPanel
s。一是静态组件JPanel
,二是动态组件JPanel
,都添加在mainPanel中。两个面板是重叠的,对于动态组件面板,不透明是错误的以使其透明。当我为动态组件面板重新绘制时,它也会触发静态组件面板的重新绘制。如果动态组件面板的形状发生变化并且静态组件面板的形状不应该被擦除,我不想每次都重新绘制静态组件面板。
目前我的逻辑如下。是伪代码。请帮助我如何在静态组件的顶部绘制可移动组件并在启动时绘制一次静态组件。
输出:油漆2
jpanel - 在单独的函数中注册时出现 JTextField NullPointerException
我试图创建一个函数,让我可以一口气创建一组 JPanel 对象。但是,当我尝试处理由用户输入字段创建的数据时,我得到一个NullPointerException
. 如果我创建标签/字段并将它们添加到我的buildPanel
方法中的面板中,一切都很好。使用这种newSet
方法,我得到了错误。对象正确显示在窗口中,但我的听众似乎无法从中获取信息。我也尝试不将面板传递给函数,但这没有区别。我可以用这种方式注册文本字段吗?
我假设它不会将 应用于textField
对象daysF
,而是创建一个名为“文本”的标签,该标签在函数完成后并不真正存在。
这是侦听器,它将文本输入转换为双精度,以便稍后进行一些计算。
我NullPointerException
来了,带着field.getText()
。
线程“AWT-EventQueue-0”中的异常 java.lang.NullPointerException
这也是堆栈跟踪。
java - Java rectangle 90 array null pointer
I cannot figure this one out... so I keep getting an Exception in thread
error in my code but there is no nullPointer that I can find! my rectangle []latter array is public and I'm just trying to pass the array simple objects that I cannot reference from it.
Any thought? I have initialized it several different ways, this is the current one that I have tried:
iv also done the standard rectangle[] latter=new Rectangle[8]; the assigned latter
java - Java 事件队列延迟并保持监视器几秒钟
在 Swing 应用程序中,一些 UI 操作事件在执行和 UI 中会出现延迟并冻结几秒钟。当试图检查使用
和
显示和线条连续.. 到组件。
这只发生在 webstart
前任:
java - 在 Java Robot 类中使用 mouseClick 和 mouseRelease 时的问题
我试图弄清楚为什么我会得到这个异常。
代码很简单。我正在使用一个名为 Robot 的机器人类。我正在努力做到这一点,以便机器人每 1 秒左击一次作为测试。但是,我无法让它识别鼠标左键。
我已经阅读了一些 StackOverflow 问题,他们建议使用该getButtonMask()
函数,但我的库不包含该函数。
java - 从事件调度线程 (EventQueue) 停止另一个线程
我有一个扩展 JDialog 的登录表单,用户可以通过刷卡或输入用户名和密码登录。
我创建了一个Runnable
与磁条阅读器通信的守护程序,启动时它将请求刷卡,它会等到刷卡。如果应用程序需要取消请求以执行其他操作,那么它将产生该线程将捕获的事件,从而取消等待刷卡的请求。
当用户刷卡时,应用程序将读取用户ID的轨迹并进行验证,如果验证成功,将向刷卡守护进程发送停止命令并停止线程。
当用户输入用户名和密码时,swing 包将访问一个线程 (AWT-EventQueue-0),该线程响应登录按钮的单击事件并继续评估登录凭据。
我的问题是,每当应用程序在此 AWT-EventQueue-0 线程上时,向刷卡守护程序发送停止事件将不起作用,并且该守护程序将保留在线程堆栈上。
编辑1:停止命令在刷卡登录时工作得很好。它优雅地结束了刷卡线程。在这种情况下,当前线程范围在 CardSwipeThread 上。
问题发生在手动登录时,当用户单击登录按钮时,当前作用域线程将是 AWT-EventQueue-0 或事件调度线程。将 CardSwipeThread 的 volatile 布尔值更新为 false 并不会阻止它运行。
编辑2: 读卡器与应用程序通信的唯一时间是刷卡时,问题发生在不需要刷卡的手动登录上。因此,不会因为阻塞的 IO 操作而导致 CardSwipeThread 没有正确结束的问题。原来有一个躲在灌木丛后面。
这是我的代码的一部分:
登录对话框.java
SwipeReader.java
CardSwipeDaemon.java
csv - JTable 摆动异常
这是我一天前问的一个问题的后续,我一直在尝试调试代码但没有成功,但基本上应用程序应该允许用户在选择后选择他们想要导入或查看的 CSV他们只会在 JTable 中查看 Csv 的内容。目前我可以查看 csv 中的数据,但它没有按预期显示在 Jtable 中。这是下面程序的代码,除了 netbeans 向我抛出的异常。
抛出的异常:
这是在 netbeans 输出面板上显示的部分结果,而不是 JTable:
java - 我的代码中的 Java 错误线程“AWT-EventQueue-0”中的异常
我正在建立一个学生管理器,并从 YouTube 学到了一切。现在我陷入了困境。下面给出了代码,下面也给出了错误。
这是代码:
这是我得到的错误:
java.lang.NullPointerException at frames.RegisterStart$1.run(RegisterStart.java:58) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue .dispatchEventImpl(EventQueue.java:770) 在 java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) 在 java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) 在java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) 在 java.base/java.security.AccessController.doPrivileged(Native Method) 在 java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege( ProtectionDomain.java:87) 在 java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) 在 java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) 在 java.桌面/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) 在 java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread。 java:109) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 0Exception in thread "AWT-EventQueue- 0" java.lang.NullPointerException at frames.RegisterStart.Register(RegisterStart.java:190) 在 frames.RegisterStart.access$2(RegisterStart.java:171) 在 frames.RegisterStart$2.actionPerformed(RegisterStart.java:153) 在 java .desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) 在 java。桌面/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) 在 java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) 在 java.desktop/javax.swing.DefaultButtonModel.setPressed( DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6589) at java .desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) 在 java.desktop/java.awt.Component.processEvent(Component.java:6354) 在 java.desktop/java.awt.Container.processEvent(Container .java:2261) 在 java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966) 在 java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319) 在 java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) 在 java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4914) 在 java.desktop/java.awt.LightweightDispatcher .processMouseEvent(Container.java:4543) 在 java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4484) 在 java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2305) 在 java.在 java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue. java:772) 在 java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) 在 java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) 在 java.desktop/java .awt.EventQueue$4.run(EventQueue.java:715) 在 java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) 在 java.base/java.security.ProtectionDomain$ 的 java.base/java.security.AccessController.doPrivileged(Native Method) JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) 在 java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) 在 java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)在 java.base/java.security.AccessController.doPrivileged(Native Method) 在 java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) 在 java.desktop/java.awt.EventQueue.dispatchEvent( EventQueue.java:742) 在 java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) 在 java.桌面/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) 在 java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread。 java:109) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 2018-08-15 22:28 :31.367 java[699:58449] 查找:未处理的异常“JavaNativeException”在 +[LULookupDefinitionModule _focusTermUsingQueue:handler:] 中捕获EventDispatchThread.pumpEvents(EventDispatchThread.java:109) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 2018- 08-15 22:28:31.367 java[699:58449] 查找:在 +[LULookupDefinitionModule _focusTermUsingQueue:handler:] 中捕获未处理的异常“JavaNativeException”EventDispatchThread.pumpEvents(EventDispatchThread.java:109) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 2018- 08-15 22:28:31.367 java[699:58449] 查找:在 +[LULookupDefinitionModule _focusTermUsingQueue:handler:] 中捕获未处理的异常“JavaNativeException”
java - 为什么包含 EventQueue.invokeLater 的代码永远不会结束?
我有一个主要课程:MyMainSDK
我的课是:
我在批处理文件上运行我的 java 代码。它按我的预期工作。
但是批处理文件似乎还没有完成。但我看到这些日志:
我该如何解决这个问题?
提前致谢