2009-04-23 16 views
3

基本上我希望能夠允許用戶保存書籤,然後將其放入菜單欄子菜單的列表中。我將如何去編程任何數量的書籤的一般功能可能被添加,我基本上想要項目將URL放入文本框中單擊時。我是否需要爲此創建一個新類,還是有內置函數?我將如何在Swing中編程動態菜單?

我的程序是一個使用Swing用J​​ava編寫的簡單的RSS閱讀器。

回答

5

你需要添加一個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 
}