gpt4 book ai didi

java - JMenuItem 更新无需重新启动客户端

转载 作者:行者123 更新时间:2023-12-02 06:39:59 25 4
gpt4 key购买 nike

此代码将用户最喜欢的歌曲从 ArrayMap 添加到 JmenuItem

        public void actionPerformed(ActionEvent evt) {
String cmd = evt.getActionCommand();
if (cmd != null) {
if (cmd.equalsIgnoreCase("Favorite song")) {
Music.f.add(Music.s);
System.out.println(Music.s + " added to favorites");
System.out.println(Music.f + " current list");

}
}
}
public void initUI() {
try {
//...

JMenu fileMenu = new JMenu("Music And Sound Options");
JMenu favorites = new JMenu("Favorite songs");

for (String name : Music.f) {
JMenuItem menuItem = new JMenuItem(name);
menuItem.addActionListener(this);
favorites.add(menuItem);
}


JMenuBar menuBar = new JMenuBar();
JMenuBar jmenubar = new JMenuBar();

frame.add(jmenubar);
menuBar.add(favorites);
frame.getContentPane().add(menuBar, BorderLayout.NORTH);
frame.pack();
frame.setVisible(true); // can see the client

init();
//...
} catch (Exception e) { e.printStackTrace(); }
}

我希望在添加歌曲后更新歌曲列表,而不是必须重新启动客户端才能查看更多歌曲

最佳答案

//JMenu favorites = new JMenu("Favorite songs");    
favorites = new JMenu("Favorite songs");

Collection 夹菜单需要定义为类变量。然后,当您执行此操作时,您的 ActionListener 现在可以引用菜单并向菜单添加新的菜单项。

if (cmd.equalsIgnoreCase("Favorite song")) {
Music.f.add(Music.s);
System.out.println(Music.s + " added to favorites");
System.out.println(Music.f + " current list");
JMenuItem item = new JMenItem(...);
favorites.add( item );

关于java - JMenuItem 更新无需重新启动客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19237350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com