【问题标题】:How would i program a dynamic menubar in Swing?我将如何在 Swing 中编写动态菜单栏?
【发布时间】:2009-04-23 08:09:44
【问题描述】:

基本上,我希望能够允许用户保存书签,然后将其放入菜单栏上子菜单的列表中。我将如何为可能添加的任意数量的书签编写通用功能,我基本上希望这些项目在单击时将 URL 放入文本框中。我需要为此创建一个新类,还是有内置函数?

我的程序是一个使用 Swing 用 Ja​​va 编写的简单 RSS 阅读器。

【问题讨论】:

    标签: java swing


    【解决方案1】:

    您需要将 MenuListener 添加到您想要动态的菜单项。 在void menuSelected(MenuEvent e)方法中,实现子菜单的构建。 在第一个实现中,您可以先重置菜单的内容,然后从头开始重新构建它,而不是更新它:

    JMenu menu = new JMenu("Bookmarks");
    menu.addMenuListener(new MyMenuListener());
    
    private class MyMenuListener implements MenuListener {
    
        public void menuCanceled(MenuEvent e) { }
    
        public void menuDeselected(MenuEvent e) { }
    
        public void menuSelected(MenuEvent e) {
            JMenu menu = (JMenu) e.getSource();
            populateWindowMenu(menu);
        }
    }
    
    void populateWindowMenu(JMenu windowMenu) {
        windowMenu.removeAll();
        // Populate the menu here
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 2018-03-23
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多