我正在创建一个java桌面应用程序。我有两个按钮“创建”和“取消”。如果我按下创建它将在新窗口中创建一个报告。 我的问题是“取消”按钮。如果用户按下创建按钮,则需要一些时间来创建新报告。取消按钮只能在创建时间内使用。如果用户按取消按钮,报告创建操作应该中止。我添加动作侦听器来创建和取消按钮,但是当我点击创建我不能够同时点击取消按钮。如何停止在java swing中执行的动作
3
A
回答
2
尝试在单独的线程中运行每个进程。取消原因不起作用是创建需要时间来完成其过程。在那段时间,它占据主线程并停止任何可能由其他UI元素执行的操作(包括取消按钮)。
您的取消按钮可能正在工作。但是每次点击它时,被触发的事件都会放到队列的后面,以便在创建按钮的事件之后进行处理。通过将事件处理放在单独的线程中,并同步两个按钮所需的任何资源(只要这些资源是线程安全的!),您应该可以通过取消按钮轻松停止由事件按钮创建的线程。
0
尝试创建两个不同的ActionListener
s:一个用于“创建”JButton
,另一个用于“取消”JButton
。这应该允许一方在另一方正在处理时作出回应。
相关问题
- 1. 如何在AnimatorSet的动画停止后立即执行动作?
- 2. Java swing - 点击执行一个动作
- 3. 如何在Java中的线程中停止执行该方法?
- 4. 如何中止或停止JavaScript执行?
- 5. Java执行随机停止
- 6. 停止代码执行Java
- 7. Java停止代码执行?
- 8. 如何使用rails中的另一个动作停止动作执行?
- 9. 如何停止Swing EDT
- 10. 如何停止执行eventlisteners
- 11. 如何停止Maven执行
- 12. 如何在java中停止命令执行
- 13. 在JavaScript中停止执行
- 14. 停止Java Swing在没有用户输入的情况下执行
- 15. 停止计时器在java Swing
- 16. 如何在执行运行时命令后停止java挂起
- 17. 如何停止执行Java中的Executor ThreadPool?
- 18. JAVA:如何在特定时间后停止函数的执行?
- 19. 如何停止或暂停php执行?
- 20. 如何停止在Swift中执行某个操作?
- 21. 如何暂停Java Swing Timer?
- 22. 执行:noremap时,如何停止在vim中移动光标?
- 23. 如何在执行之间停止GCD
- 24. 如何在执行promise时停止$ ionicLoading?
- 25. 停止Recaptcha执行“行动”的形式
- 26. 如何暂停程序的执行,直到在Java Swing中单击按钮为止
- 27. 如何暂停执行动作
- 28. Java/Swing:一个JScrollPane中的JTextArea,如何防止自动滚动?
- 29. 如何停止php函数的执行?
- 30. 如何停止执行j2me的midlet?
官方Javadoc说Swing *不是线程安全的*,所以这不是一个好的方法。 – asteri 2012-08-16 15:59:40
这只适用于您打算在单独的线程中更新的摆动元素。如果他在单独的线程中更新按钮(或大多数摆动UI元素),这将是不安全的。所以你是对的,它不是线程安全的,但这不是正在做的事情。提问者只是想停止按钮触发的事件。 – Perley 2012-08-16 17:40:25