当我创建一个带有粘贴操作的JMenuBar并为其分配一个加速器时(Control-V),然后为JMenuItem编写粘贴操作。然后我使用加速器,我的代码将被执行,并且Swing预编程的Paste操作将被执行,因此文本将被粘贴两次。 我没有测试,但是看起来很逻辑,这就是问题所在。 谢谢 解决方案如下: Swing通过使用“键绑定”来工作。因此,根据找到的键绑定,仅调用一个操作。因此,您不会将文本粘贴两次。 您可能会调用不同的Action,具体取决于哪个组件具有焦点以及如何调用该Action。 例如,如果焦点在文本组件…

2020年7月23日 0条评论 32点热度 阅读全文

我有一个问题,在直接显示两个JDialog之后,JMenuItems的加速器不再工作了。 请看一下这个重现问题的小例子: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class DialogBug { public static void main(String[] args) { SwingUtilities.invokeLater(new StartupRunnable(args.length == 0)); …

2019年2月26日 0条评论 40点热度 阅读全文

我有一个问题,在直接显示两个JDialog之后,JMenuItems的加速器不再工作了。 请看一下这个重现问题的小例子: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class DialogBug { public static void main(String[] args) { SwingUtilities.invokeLater(new StartupRunnable(args.length == 0)); …

2019年1月11日 0条评论 30点热度 阅读全文