Guten Morgen,
leider habe ich nirgends ein Ergebnis gefunden, was mein Problem löst.
Ich habe 16 JButtons, die innerhalb der Klasse vom JFrame aufgerufen werden und die Momentan mit dem MouseEvent dank der Hilfe des Forums genauso funktionieren, wie ich will. Ein Button hat folgenden Code (Fortsetzung unterhalb des Codes):
Und das Ganze 16 mal untereinander ist ein verdammt langer Code. Um diesen übersichtlicher zu halten, hatte ich vor für jeden Button eine eigene MouseEvent Klasse zu erstellen und die dazugehörigen Methoden dort rein zu schreiben. Habe ich für einen Button exemplarisch gemacht. Code hier (frage dazu unterhalb des Codes):
Ist die Klasse so überhaupt korrekt geschrieben?
Wenn ja, wie kann ich die jetzt aus dem JButton, der im Jframe ist aufrufen?
Bekomme das einfach nicht hin. Geht das überhaupt?
Danke im Voraus
leider habe ich nirgends ein Ergebnis gefunden, was mein Problem löst.
Ich habe 16 JButtons, die innerhalb der Klasse vom JFrame aufgerufen werden und die Momentan mit dem MouseEvent dank der Hilfe des Forums genauso funktionieren, wie ich will. Ein Button hat folgenden Code (Fortsetzung unterhalb des Codes):
Java:
btnBayern = new JButton();
btnBayern.setContentAreaFilled(false);
// innere event klasse
class MyMouseEventBayern extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
btnBayern.setBorderPainted(true);
btnBayern.setBorder(BorderFactory.createEtchedBorder(Color.decode("35529"), Color.decode("35529")));
btnBayern.setOpaque(true);
btnBayern.setContentAreaFilled(false);
}
public void mouseExited(MouseEvent e) {
btnBayern.setBorderPainted(false);
btnBayern.setOpaque(false);
btnBayern.setContentAreaFilled(false);
btnBayern.setFocusPainted(false);
}
}
btnBayern.setIcon(new ImageIcon(Bayern_Wappen));
btnBayern.addMouseListener(new MyMouseEventBayern());
btnBayern.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
btnBayern.setBackground(Color.WHITE);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
btnBayern.setBackground(UIManager.getColor("control"));
}
});
btnBayern.setFocusPainted(false);
lblBayern = new JLabel("Bayern");
lblBayern.setFont(lblBayern.getFont().deriveFont(Font.BOLD, 15));
lblBayern.setForeground(Color.BLACK);
lblBayern.setHorizontalAlignment(SwingConstants.CENTER);
lblBayern.setVerticalAlignment(SwingConstants.CENTER);
lblBayern.setBounds(340, 138, 110, 140);
btnBayern.setBounds(340, 58, 110, 140);
Und das Ganze 16 mal untereinander ist ein verdammt langer Code. Um diesen übersichtlicher zu halten, hatte ich vor für jeden Button eine eigene MouseEvent Klasse zu erstellen und die dazugehörigen Methoden dort rein zu schreiben. Habe ich für einen Button exemplarisch gemacht. Code hier (frage dazu unterhalb des Codes):
Java:
package MouseEvents;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.BorderFactory;
import javax.swing.UIManager;
import javax.swing.border.Border;
public class MouseEventBW extends MouseAdapter {
// Mousezeiger in Schaltfläche
public void mouseEntered(MouseEvent e) {
setBorderPainted(true);
setBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.BLACK));
setOpaque(true);
setContentAreaFilled(false);
setBackground(Color.decode("16375062"));
}
// Mousezeiger außerhalb Schaltfläche
public void mouseExited(MouseEvent e) {
setBorderPainted(false);
setOpaque(false);
setContentAreaFilled(false);
setFocusPainted(false);
setBackground(UIManager.getColor("control"));
}
private void setBackground(Color decode) {
// TODO Auto-generated method stub
}
private void setContentAreaFilled(boolean b) {
// TODO Auto-generated method stub
}
private void setOpaque(boolean b) {
// TODO Auto-generated method stub
}
private void setBorder(Border createEtchedBorder) {
// TODO Auto-generated method stub
}
private void setBorderPainted(boolean b) {
// TODO Auto-generated method stub
}
private void setFocusPainted(boolean b) {
// TODO Auto-generated method stub
}
}
Ist die Klasse so überhaupt korrekt geschrieben?
Wenn ja, wie kann ich die jetzt aus dem JButton, der im Jframe ist aufrufen?
Bekomme das einfach nicht hin. Geht das überhaupt?
Danke im Voraus