1

我正在使用 Substance 和 Swing,并了解到当 x 数量的菜单和子菜单项添加到菜单中时,Substance 会自动继续并在菜单栏上为您添加放大镜图标和搜索栏。它对于通过菜单搜索以更快地找到项目很有用,但不幸的是我不希望这样做,因为我没有设计我的用户界面来为它留出空间。有什么办法可以去掉这个吗?

public class SubstanceMenu {
    public JMenuBar createMenuBar() {
        JMenuBar menuBar = new JMenuBar();

        for (int i = 0; i < 4; i++) {
            JMenu menu = new JMenu("A Menu");
            JMenu subMenu = new JMenu("A submenu");

            for (int j = 0; j < 5; j++) {
                menu.add("Menu item");
                subMenu.add("Sub Menu Item");
            }

            menu.add(subMenu);
            menuBar.add(menu);
        }

        return menuBar;
    }

    private static void createAndShowGUI() {
        JFrame frame = new JFrame("MenuSelectionManagerDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        SubstanceMenu demo = new SubstanceMenu();
        frame.setJMenuBar(demo.createMenuBar());
        frame.setSize(450, 260);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(
                "org.jvnet.substance.skin.SubstanceMagmaLookAndFeel");
            SwingUtilities.invokeLater(() -> createAndShowGUI());
        } catch (Exception e) {
           e.printStackTrace();
        }
    }
}

如何删除图标/栏?

在此处输入图像描述

4

1 回答 1

1

物质的开发者在这里。

看起来您正在使用一个非常旧版本的 Substance(基于外观类的“org.jvnet”包名称)。最新版本的 Substance(现在是 Radiance 的一部分)可在https://github.com/kirill-grouchnikov/radiance获得,除非在应用程序代码中明确配置,否则不会添加菜单搜索小部件。

于 2019-05-06T15:20:20.553 回答