Auf Thema antworten

Hallo Leute!

Ich habe ein Button mit einem eigenen Design erstellt,

indem ich einfach die paint-Methode von JButton überschrieben habe:

[code=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);

    }

}

[/code]

(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 [code]getModel().isPressed()[/code]. Was habe ich falsch gemacht?



Oben