Hallo zusammen,
ich habe in meinem Frame mehrere Button, die alle gleich aussehen. Da sich nur ein paar Dinge unterscheiden, z.B. wie die Position hab ich mir eine Methode geschrieben um Buttons zu erstellen.
Button Methode
So erstelle ich mir einen neuen Button
Soweit funktioniert dass alles super. Wie weise ich jetzt jedem Button einen eigenen Action Listener?? Was geht, aber sicherlich nicht schön ist, nach jedem aufruf der setButton Methode dem eben angelegtem Button einen Listener hinzufügen
Gibt es da noch einen besseren schöneren weg?
Gruß Andreas
ich habe in meinem Frame mehrere Button, die alle gleich aussehen. Da sich nur ein paar Dinge unterscheiden, z.B. wie die Position hab ich mir eine Methode geschrieben um Buttons zu erstellen.
Button Methode
Code:
public void setButton(JMyButton tempButton, int panel, int x, int a, String tempString, ImageIcon tempIcon)
{
x=2*abstandButton+((x-1)*a)+((x-1)*abstandButton); // Berechnung x
tempButton.setBounds(x, abstandButton, a, a);
tempButton.setText(tempString);
tempButton.setFocusPainted(false);
tempButton.setBackground(cDefault);
tempButton.setContentAreaFilled(false);
tempButton.setBorder(buttonBorder);
tempButton.setIcon(tempIcon);
tempButton.setForeground(Color.WHITE);
tempButton.setHorizontalTextPosition(SwingConstants.CENTER);
tempButton.setVerticalTextPosition(SwingConstants.BOTTOM);
switch (panel) {
case 1: // Panel Select
jPSelect.add(tempButton);
break;
case 2: // Panel Edit
jPEdit.add(tempButton);
break;
case 3: // Panel Info
jPInfo.add(tempButton);
break;
default: // Panel Main
jPMain.add(tempButton);
}
}
Code:
setButton(jBRefresh, 1, 1, aButton, "Refresh", iRefresh);
Code:
setButton(jBRefresh, 1, 1, aButton, "Refresh", iRefresh);
jBRefresh.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBRefresh_ActionPerformed(evt);
}
});
Gruß Andreas