Как изменить цвет JButton во время нажатия

185
20 ноября 2018, 08:10

Есть какие-то методы позволяющие изменить цвет JButton во время нажатия? Если же нет, то как это возможно сделать? Пытался найти, но ничего достаточно простого не нашёл

Answer 1
class ShyButton extends JButton {
    private final Color pressedColor = Color.RED;
    public ShyButton() {
        this(null);
    }
    public ShyButton(String text) {
        super(text);
        super.setContentAreaFilled(false);
    }
    @Override
    protected void paintComponent(Graphics g) {
        if (getModel().isPressed()) {
            g.setColor(pressedColor);
        }
        else {
            g.setColor(getBackground());
        }
        g.fillRect(0, 0, getWidth(), getHeight());
        super.paintComponent(g);
    }
}
public class Demo extends JFrame {
    public Demo() {
        super("Demo");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        add(new ShyButton("Click me"));
        pack();
    }
    public static void main(String[] args) {
        Demo window = new Demo();
        window.setVisible(true);
    }
}
READ ALSO
Сворачивание видео в угол экрана, как в youtube

Сворачивание видео в угол экрана, как в youtube

Есть ли библиотека, реализующая интерфейс сворачивания видео, как в youtube (когда оно становиться маленьким прямоугольником в нижнем правом...

340
Как вручную установить библиотеку Apache POI [закрыт]

Как вручную установить библиотеку Apache POI [закрыт]

Такой вопрос - какие файлы и куда скачанной библиотеки Apache POI на Java надо ставить, что бы можно было работать не используя среды разработки,...

197
Не распознается второй Scanner в while? [дубликат]

Не распознается второй Scanner в while? [дубликат]

На данный вопрос уже ответили:

134
коллизия в Box2d

коллизия в Box2d

изучаю LibGDX и использую физический движок Box2d, может кто-то подсказать как создать столкновения предметов (персонажа, который движется и стоячего...

144