2011-11-15 18 views
6

私は内部にいくつかのサブメニューを持つJMenuを持っています。それらのメニューの名前は、4人のプレーヤーの1人の名前を得ることによって設定されます。私はしかし、名前が変更されますが、更新がメニューに表示されていないJMenuの表示名を更新する

menu.setName(player.getName()); 

使用してそれらの名前を更新するためにJMenuにするのMenuListenerを追加しました。表示を更新するメニューを取得するにはどうすればよいですか?

editMenu.addMenuListener(new MenuListener() { 

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

     public void menuDeselected(MenuEvent e) { 
     } 

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

とupdateMenu方法:

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()); 
} 

print文は、名前が変更されたことを示しています。

答えて

5

私は(スナップショットが便利だったかもしれない)あなたが望む正確に理解した場合は、menu.setText("player1")

setName(string)hereを参照し、表示のためではありません使用する必要があります。

+0

それでした!ありがとう! –

+0

ようこそ。 – yair

関連する問題