2016-05-03 13 views
0

Ich habe ein Problem mit der Ausgabe am Panel. Ich möchte Taste nicht über Panel-Was soll ich mit meinen Tasten tun?

Mein Java-Code

for(int i = 0;i < 100;i++) 
{ 
    if(buttonG[i] == null) 
     buttonG[i] = new JButton(); 
} 

int location = 5; 

for(int i = 0;i < 10;i++) 
{ 
    buttonG[i].setText("Group-"+(i+1)); 
    buttonG[i].setSize(80,50); 
    buttonG[i].setLocation(location,10); 
    buttonG[i].setVisible(true); 

    location = location + 95; 
    jPanel1.add(buttonG[i]); 

    buttonG[i].addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent e) 
     { 

     } 
    }); 
} 

Ausgang:

enter image description here

+0

Sie haben eine feste X-Koordinate. Ändern Sie es. – m0skit0

+1

Verwenden Sie bitte Layout-Manager.aber y ist immer gleich. Warum. –

+0

Sie möchten wahrscheinlich einen Layout-Manager verwenden, um dies zu handhaben (FlowLayout würde tun, was Sie wollen). – Ironcache

Antwort

0
BtnAction action = new BtnAction(); 
for(int i = 0;i < 10;i++) { 
     buttonG[i].addActionListener(action); 
} 



class BtnAction implement ActionListener{ 

     public void actionPerformed(ActionEvent e){ 
     if(e.getActionCommand==enter){ 
      //enterButtonCode. i assume that you have a btn named enter 
     } 
     { 
} 

, was du tust ist nicht falsch, aber es gibt keinen Punkt weil Sie in der actionPerformed-Methode nichts hinzufügen können. Erstellen Sie eine innere Klasse, die ActionListner implementiert, und übergeben Sie mithilfe der Methode addActionListner das Objekt BtnAction.try, das es in obigem Ansatz tut.

Verwandte Themen