2014-01-05 6 views
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 

        } 
       } 

답변

1

내가 방금이 줄을 제거 할 필요가 있다고 생각합니다.

+0

당신은 남자입니다. 너에게 맥주를 사주기를 빌면. – Lgwells1