2011-11-15 42 views
6

İçinde birkaç alt menüye sahip bir JMenu var. Bu menülerin isimleri 4 oyuncudan birinin adı alınarak belirlenir. Ben Ancak, adı değişiyor ama güncelleme menüde görüntülenmiyorsaGüncelleme JMenu görünen adları

menu.setName(player.getName()); 

kullanarak bu isimleri güncellemek için JMenu bir MenuListener ekledi. Ekranını güncellemek için menüyü nasıl alabilirim?

editMenu.addMenuListener(new MenuListener() { 

     public void menuSelected(MenuEvent e) { 
      updateMenu();  
     } 

     public void menuDeselected(MenuEvent e) { 
     } 

     public void menuCanceled(MenuEvent e) { 
     } 
}); 

ve updateMenu yöntemi:

public void updateMenu() 
{ 
    partOneMenu.setName(Participant1.getName()); 
    partTwoMenu.setName(Participant2.getName()); 
    partThreeMenu.setName(Participant3.getName()); 
    partFourMenu.setName(Participant4.getName()); 

    partOneMenu.revalidate(); 

    partTwoMenu.revalidate(); 
    partThreeMenu.revalidate(); 
    partFourMenu.revalidate(); 

    System.out.println(partOneMenu.getName()); 
} 

baskı ekstre adı değiştiğini gösteriyor. Ben tam olarak (bir anlık yararlı olabilirdi) istediğini anlamak

cevap

5

, o zaman menu.setText("player1")

setName(string) ekran için değil kullanmalıdır, here bakın.

+0

öyle oldu! Teşekkürler! –

+0

Rica ederim! – yair