0
사용자 컴퓨터 이름, MAC 주소 및 IP 주소를 가져 오는 OS X 용 Java에서 시스템 트레이 응용 프로그램을 작성하고 있습니다. 정보 및 MenuItems 잘로드 있어요. 내 문제는 사용자 정보가 변경 될 때 MenuItems를 업데이트하는 것입니다. 사용자가 트레이 아이콘을 클릭 할 때 MenuItems를 다시 작성하는 마우스 수신기를 추가했습니다. popup.removeall()을 추가하고 MenuItem을 다시 실행했지만 작동하지 않습니다. 내 MenuItem을 업데이트하는 올바른 방법은 무엇입니까?Java Update MenuItems
PopupMenu popup = new PopupMenu();
다음의 모든 라인이 로컬 변수 popup
보다는 업데이트를 기대하고있는 필드에 액세스하게됩니다 :
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
}
}
당신은 남자입니다. 너에게 맥주를 사주기를 빌면. – Lgwells1