Мой предпочтительный размер JButton не работает правильно?

Если я хочу создать свой собственныйJButton и я хочу установить предпочтительный размер, как мне делать это. Я думал, что это может быть легко, но когда я доберусь до него, у меня будет измерение, которое я отправлю в свой предпочтительный размер.

Но тогда как мне установить правильныйx, y, ширина, а такжерост значения для моего конкретногоJButton составная часть. Кажется излишним просто звонитьsetPreferredSize опять же в сторону того же метода?

Это то, что я нахожу странным в переопределенииJComponent, Я вижу, как они должны работать сpaintComponent(...).

Я хочу, чтобы моя новая кнопка имела предпочтительный размер (это размер по умолчанию), то есть20 x 20.

Я хочу установить это на любую кнопку, если размер не установлен конструктором.

Кроме того, какие методы должны быть переопределены при создании пользовательской кнопки?

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);
    }
}