2011-11-15 10 views
6

तो मेरे पास कुछ सबमेनस के साथ एक जेमेनू है। उन मेनू के नाम 4 खिलाड़ियों में से 1 का नाम प्राप्त करके सेट किए गए हैं। मैंअद्यतन जेमेनू डिस्प्ले नाम

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

प्रिंट बयान दिखाया जा रहा है कि नाम बदल गया है।

उत्तर

5

तो मैं समझता हूँ कि वास्तव में क्या आप चाहते हैं (एक स्नैपशॉट उपयोगी हो सकता था), तो आप का उपयोग करना चाहिए menu.setText("player1")

setName(string) प्रदर्शन के लिए नहीं है, here देखते हैं।

+0

यह था! धन्यवाद! –

+0

आपका स्वागत है! – yair

संबंधित मुद्दे