gpt4 book ai didi

java - JCheckBox 调整大小和触发操作

转载 作者:行者123 更新时间:2023-11-29 08:04:21 24 4
gpt4 key购买 nike

我在从 JCheckBox 触发操作时遇到了一些问题:

JMenu topMenu = new JMenu("Top Menu");

MyAction action1 = new MyAction("Action1");
MyAction action2 = new MyAction("A2");

JCheckBox checkBox1 = new JCheckBox( action1 );
JCheckBox checkBox2 = new JCheckBox( action2 );

topMenu.add( checkBox1 );
topMenu.add( checkBox2 );

当鼠标悬停在 topMenu 上时,它会展开并显示标记为“Action1”和“A2”的 JCheckBoxes。单击复选框或文本可切换复选框。

这部分有点难解释:“A2”右边有一个区域是空的——因为“Action1”占用了更多的空间,那么悬停在topMenu上时显示的子菜单将是“行动 1”。 “A2”行的宽度相同,但只有复选框和“A2”触发操作。

单击“A2”文本右侧不会执行任何操作。我该如何以最简单的方式解决这个问题?

最佳答案

不要将 JCheckBoxes 添加到菜单。而是使用菜单变体:JCheckBoxMenuItem . menu tutorial将解释如何使用这些。

例如,

JMenu topMenu = new JMenu("Top Menu");

MyAction action1 = new MyAction("Action1");
MyAction action2 = new MyAction("A2");

JCheckBoxMenuItem checkBox1 = new JCheckBoxMenuItem( action1 );
JCheckBoxMenuItem checkBox2 = new JCheckBoxMenuItem( action2 );

topMenu.add( checkBox1 );
topMenu.add( checkBox2 );

关于java - JCheckBox 调整大小和触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com