【发布时间】:2009-04-23 08:09:44
【问题描述】:
基本上,我希望能够允许用户保存书签,然后将其放入菜单栏上子菜单的列表中。我将如何为可能添加的任意数量的书签编写通用功能,我基本上希望这些项目在单击时将 URL 放入文本框中。我需要为此创建一个新类,还是有内置函数?
我的程序是一个使用 Swing 用 Java 编写的简单 RSS 阅读器。
【问题讨论】:
基本上,我希望能够允许用户保存书签,然后将其放入菜单栏上子菜单的列表中。我将如何为可能添加的任意数量的书签编写通用功能,我基本上希望这些项目在单击时将 URL 放入文本框中。我需要为此创建一个新类,还是有内置函数?
我的程序是一个使用 Swing 用 Java 编写的简单 RSS 阅读器。
【问题讨论】:
您需要将 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
}
【讨论】: