gpt4 book ai didi

Java 更新菜单项

转载 作者:行者123 更新时间:2023-12-01 13:39:34 25 4
gpt4 key购买 nike

我正在用 Java 为 OS X 编写一个系统托盘应用程序,它获取用户的计算机名称、MAC 地址和 IP 地址。我得到了信息并且菜单项加载得很好。我的问题是当用户信息更改时更新菜单项。我添加了一个鼠标监听器,当用户单击托盘图标时,它将重建菜单项。我添加了 popup.removeall() 然后重做我的 MenuItems,但它不起作用。更新我的菜单项的正确方法是什么?

public void mouseClicked(MouseEvent e) 
{

try
{
popup.removeAll();



PopupMenu popup = new PopupMenu();
MenuItem defaultItem = new MenuItem("Exit");
defaultItem.addActionListener(exitListener);
MenuItem userIP1 = new MenuItem(getIP());
MenuItem userMAC1 = new MenuItem(getMac());
MenuItem computerName1 = new MenuItem(getComputerName());


popup.add(computerName1);
popup.add(userMAC1);
popup.add(userIP1);
popup.add(defaultItem);
try
{
tray.add(trayIcon);
}
catch(Exception e2)
{
//Empty
}

}


catch(UnknownHostException e1)
{
//Empty

}
}

最佳答案

我认为你只需要删除这一行:

PopupMenu popup = new PopupMenu();

这将导致以下所有行访问局部变量 popup 而不是您期望更新的字段。

关于Java 更新菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939058/

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