我正在使用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();
        }
    }
}


如何删除图标/栏?

java - 有什么方法可以使用Substance从JMenuBar删除此搜索图标和栏吗?-LMLPHP

最佳答案

这里是物质的开发者。

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

07-24 18:50