Hallo Leute!
Ich habe ein Button mit einem eigenen Design erstellt,
indem ich einfach die paint-Methode von JButton überschrieben habe:
(Ich habe den Code für bessere Leserlichkeit gekürzt)
Der Button wird zwar korrekt angezeigt, und wenn ich mit der Maus über ihn fahre, ändert er auch sein Aussehen entsprechend, aber wenn ich ihn klicke, passiert nichts. Und ich habe auch noch gegooglet und so, aber da stand das mit dem
. Was habe ich falsch gemacht?
Ich habe ein Button mit einem eigenen Design erstellt,
indem ich einfach die paint-Methode von JButton überschrieben habe:
Java:
public class CustomButton extends JButton{
public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(0, 0, getWidth(), getHeight());
//default look
//border
g.setColor(Color.black);
g.drawRect(0, 0, getWidth()-1, getHeight()-1);
//roll-over look
if(getModel().isRollover()) {
//content
g.setColor(Color.lightGray);
g.fillRect(1, 1, getWidth()-1, getHeight()-1);
//border
g.setColor(Color.black);
g.drawRect(0, 0, getWidth()-1, getHeight()-1);
return;
}
//pressed look
if(getModel().isPressed()) {
//content
g.setColor(Color.black);
g.fillRect(0, 0, getWidth()-1, getHeight()-1);
//border
g.setColor(Color.black);
g.drawRect(0, 0, getWidth()-1, getHeight()-1);
return;
}
//disabled look
if(!isEnabled()) {
//border
g.setColor(Color.gray);
g.drawRect(0, 0, getWidth(), getHeight());
return;
}
}
@Override
public Dimension getPreferredSize() {
return new Dimension(75, 25);
}
}
Der Button wird zwar korrekt angezeigt, und wenn ich mit der Maus über ihn fahre, ändert er auch sein Aussehen entsprechend, aber wenn ich ihn klicke, passiert nichts. Und ich habe auch noch gegooglet und so, aber da stand das mit dem
Code:
getModel().isPressed()