将JMenuItem添加到JMenuBar以在菜单中创建一个切换按钮

Tomas Zato-恢复莫妮卡

我要实现的是:

图片说明

该图像表示我想JMenuItem在应用程序菜单栏(JMenuBar)中放置一些按钮,例如以允许切换某些操作。所以我写了这样的代码:

        // Start button
        JMenuItem startbut = new JMenuItem();
        startbut.setText("Start");
        startbut.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ToggleAction();
            }
        });
        menuBar1.add(startbut);

但这并没有达到预期效果:

图片说明

尤其是白色背景令人不安,看起来有些破损。

Java GUI库有成千上万的选择,因此我认为必须有更有效的方法来做到这一点。我该怎么办?

dic19

只需在评论中总结讨论,就可以JToggleButton在菜单栏中添加JMenuItem而不是添加,例如:

Action toggleAction = new AbstractAction("Start") {
    @Override
    public void actionPerformed(ActionEvent e) {
        AbstractButton button = (AbstractButton)e.getSource();
        if (button.isSelected()) {
            button.setText("Stop");
            // Start the action here
        } else {
            button.setText("Start");
            // Stop the action here
        }
    }
};

JMenuBar menuBar = new JMenuBar();
menuBar.add(new JMenu("Settings"));
menuBar.add(new JToggleButton(toggleAction));

正如@mKorbel指出,菜单栏是一个容器,因此我们可以向其中添加组件,而不仅仅是添加JMenu

JMenuBar中的JToggleButton

另一方面,使用JToolBar代替菜单栏是另一种选择。从最终用户的角度来看,放置在工具栏中的按钮比放置在菜单栏中的按钮更为自然,因此可能值得考虑使用这种方法。这样的事情将使它:

JToolBar toolBar = new JToolBar();
toolBar.add(new JButton("Settings"));
toolBar.add(new JToggleButton(toggleAction)); // Here 'toggleAction' is the same than the previous one

该代码段将产生类似于菜单栏的结果:

JToolBar中的JToggleButton

笔记

请注意,必须使用适当的方法将菜单栏添加到顶层容器(JFrameJDialogsetJMenuBar(...)JToolBar与必须像其他任何组件一样添加到内容窗格中的不同。请参阅此相关主题

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将“ON”/“OFF”文本添加到切换按钮

来自分类Dev

如何将类添加到另一个 div,当一个 div 具有切换类时?

来自分类Dev

创建一个切换按钮

来自分类Dev

用RxJS创建一个切换按钮

来自分类Dev

创建一个切换/滑动按钮

来自分类Dev

Java创建菜单在另一个类中,添加到框架

来自分类Dev

带有jQuery的菜单折叠和一个用于切换折叠的按钮

来自分类Dev

如何通过jQuery将Class添加到按钮组中的一个按钮?

来自分类Dev

需要将上一个/下一个切换添加到选项卡脚本

来自分类Dev

将 cookie 添加到 jquery 切换视频背景切换器

来自分类Dev

如何将切换抽屉添加到导航中?

来自分类Dev

使用appendTo()并切换以将变量中的内容添加到div

来自分类Dev

如何为每个切换按钮添加一个int值?[扑]

来自分类常见问题

Android:创建一个带有图片且没有文字的切换按钮

来自分类Dev

创建一个在红色和绿色之间切换的按钮

来自分类Dev

如何创建一个可以动态更改HTML内容的切换按钮?

来自分类Dev

如何创建一个仅在单击/切换时才显示某些输入的按钮?

来自分类Dev

创建一个按钮以在样式的行和列之间切换 flex-direction

来自分类Dev

如何创建一个ASM LdcInsnNode将当前类静态添加到堆栈中?

来自分类Dev

在 sql 中创建一个新列,将天数添加到当天

来自分类Dev

如何添加一个隐藏的块和一个切换按钮到fancybox标题?

来自分类Dev

如何在“单个产品”页面上的“添加到购物车按钮”旁边添加“货币切换器”下拉菜单?

来自分类Dev

如何创建一个将主动切换变量的循环?

来自分类Dev

根据上一个活动中按下的按钮切换活动布局

来自分类Dev

将实时数据添加到图表控制图,并通过组合框在2个图之间切换

来自分类Dev

如何通过单击另一个片段中的按钮将一行添加到ListView中?

来自分类Dev

使用Angular指令将可切换按钮添加到DOM

来自分类Dev

JPanel 在切换按钮上添加到其他 Jpanel 单击

来自分类Dev

playframework:jQuery:将元素添加到视图的列表中,将onclick按钮添加到另一个视图

Related 相关文章

  1. 1

    将“ON”/“OFF”文本添加到切换按钮

  2. 2

    如何将类添加到另一个 div,当一个 div 具有切换类时?

  3. 3

    创建一个切换按钮

  4. 4

    用RxJS创建一个切换按钮

  5. 5

    创建一个切换/滑动按钮

  6. 6

    Java创建菜单在另一个类中,添加到框架

  7. 7

    带有jQuery的菜单折叠和一个用于切换折叠的按钮

  8. 8

    如何通过jQuery将Class添加到按钮组中的一个按钮?

  9. 9

    需要将上一个/下一个切换添加到选项卡脚本

  10. 10

    将 cookie 添加到 jquery 切换视频背景切换器

  11. 11

    如何将切换抽屉添加到导航中?

  12. 12

    使用appendTo()并切换以将变量中的内容添加到div

  13. 13

    如何为每个切换按钮添加一个int值?[扑]

  14. 14

    Android:创建一个带有图片且没有文字的切换按钮

  15. 15

    创建一个在红色和绿色之间切换的按钮

  16. 16

    如何创建一个可以动态更改HTML内容的切换按钮?

  17. 17

    如何创建一个仅在单击/切换时才显示某些输入的按钮?

  18. 18

    创建一个按钮以在样式的行和列之间切换 flex-direction

  19. 19

    如何创建一个ASM LdcInsnNode将当前类静态添加到堆栈中?

  20. 20

    在 sql 中创建一个新列,将天数添加到当天

  21. 21

    如何添加一个隐藏的块和一个切换按钮到fancybox标题?

  22. 22

    如何在“单个产品”页面上的“添加到购物车按钮”旁边添加“货币切换器”下拉菜单?

  23. 23

    如何创建一个将主动切换变量的循环?

  24. 24

    根据上一个活动中按下的按钮切换活动布局

  25. 25

    将实时数据添加到图表控制图,并通过组合框在2个图之间切换

  26. 26

    如何通过单击另一个片段中的按钮将一行添加到ListView中?

  27. 27

    使用Angular指令将可切换按钮添加到DOM

  28. 28

    JPanel 在切换按钮上添加到其他 Jpanel 单击

  29. 29

    playframework:jQuery:将元素添加到视图的列表中,将onclick按钮添加到另一个视图

热门标签

归档