2011-11-15 30 views
6

Vì vậy, tôi có một JMenu với một vài menu con bên trong. Tên của các menu đó được đặt bằng cách lấy tên của 1 trong 4 người chơi. Tôi đã thêm một MenuListener vào JMenu để cập nhật các tên đó bằng cách sử dụngCập nhật tên hiển thị JMenu

menu.setName(player.getName()); 

Tuy nhiên, tên đang thay đổi nhưng bản cập nhật không hiển thị trong menu. Làm thế nào để tôi có được menu để cập nhật màn hình của nó?

editMenu.addMenuListener(new MenuListener() { 

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

     public void menuDeselected(MenuEvent e) { 
     } 

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

và phương pháp 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()); 
} 

Tuyên bố in cho thấy rằng tên đã thay đổi.

Trả lời

5

Nếu tôi hiểu chính xác những gì bạn muốn (một bản chụp có thể là hữu ích), sau đó bạn nên sử dụng menu.setText("player1")

setName(string) không phải là để trưng bày, xem here.

+0

đó là nó! cảm ơn! –

+0

bạn được chào đón! – yair

Các vấn đề liên quan