Rob*_*ert 1 java swing action jmenuitem jmenu
我有一些问题从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 );
Run Code Online (Sandbox Code Playgroud)
当鼠标悬停在topMenu上时,它会展开并显示标记为"Action1"和"A2"的JCheckBox.单击复选框或文本切换复选框.
这部分有点难以解释:"A2"右侧有一个区域为空 - 由于"Action1"占用更多空间,因此当悬停在topMenu上时显示的子菜单将是"Action1"的宽度."A2"行的宽度相同,但只有复选框和"A2"才能触发动作.
单击"A2"文本右侧没有任何操作.我怎样才能以最简单的方式解决这个问题呢?
不要将JCheckBox添加到菜单中.而是使用菜单变体:JCheckBoxMenuItem.该菜单教程将介绍如何使用这些.
例如,
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 );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |