2011-11-15 22 views
6

Así que tengo un JMenu con algunos submenús dentro. Los nombres de esos menús se establecen obteniendo el nombre de 1 de 4 jugadores. He añadido una menuListener a la JMenu para actualizar los nombres usandoActualizar JMenu mostrar nombres

menu.setName(player.getName()); 

Sin embargo, el nombre está cambiando, pero la actualización no se muestra en el menú. ¿Cómo obtengo el menú para actualizar su pantalla?

editMenu.addMenuListener(new MenuListener() { 

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

     public void menuDeselected(MenuEvent e) { 
     } 

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

y el método 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()); 
} 

declaración La impresión está demostrando que el nombre ha cambiado.

Respuesta

5

Si entiendo qué es exactamente lo que quiere (una instantánea podría haber sido útil), entonces debe usar menu.setText("player1")

setName(string) no está en pantalla, consulte here.

+0

eso fue todo! ¡Gracias! –

+0

¡De nada! – yair

Cuestiones relacionadas