¿Mi propio tamaño preferido de JButton no funciona correctamente?

Si quiero crear mi propia costumbreJButton y quiero establecer el tamaño preferido, ¿cómo hago para hacer esto? Pensé que podría ser fácil, pero cuando llegue a él tengo una dimensión que enviaré a mi tamaño preferido.

Pero entonces, ¿cómo configuro el correctox, y, anchurayaltura valores para mi específicoJButton componente. Parece redundante simplemente llamarsetPreferredSize de nuevo desde el lado del mismo método?

Esto es lo que me parece extraño al anular unJComponent. Veo cómo se supone que deben trabajar con elpaintComponent(...).

Quiero que mi nuevo botón tenga un tamaño preferido (este es el tamaño predeterminado) que es20 x 20.

Quiero configurar esto en cualquier botón si el constructor no establece el tamaño.

Además, ¿qué métodos deben anularse al crear un botón personalizado?

class myButton extends JButton {
    public myButton(String s) {
        super(s);   
    }
    public void setPrefferedSize(Dimension d) {
        this.setBounds(x, y, width, height)
        setPreferredSize(d);
    }
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        setBackground(Color.RED);
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta