Как добавить слушателя мыши на кнопку JOptionPane?

Я хочу изменить вид кнопки на JOptionPane.ShowMessageDialog. Мне удалось изменить кнопку надпись с

UIManager.put("OptionPane.okButtonText", "Text I want");

Теперь моя следующая цель-сделать кнопки работают так же, как кнопки в остальной части моего приложения. То есть при наведении курсора он меняет цвет фона и шрифта. На остальные мои кнопки я добавил слушатель мыши, как этот:

    //setting change color on hover
        private final MouseListener mouseAction = new MouseAdapter() {
            @Override
            public void mouseEntered(MouseEvent e) {
                JButton rollOver = (JButton)e.getSource();
                if (rollOver.isEnabled()) {
                    rollOver.setBackground(new Color(163, 184, 204));
                    rollOver.setForeground(Color.WHITE);
                    rollOver.setFont(b);
                }
            };

            @Override
            public void mouseExited(MouseEvent e) {
                JButton rollOver = (JButton)e.getSource();
                if (rollOver.isEnabled()) {
                    rollOver.setBackground(new Color(230, 230, 230));
                    rollOver.setForeground(Color.BLACK);
                    rollOver.setFont(f);
                }
            };
        };

Ранее в коде я поставил varibles шрифта:

    Font f = new Font("System", Font.PLAIN, 12);
    Font b = new Font("System", Font.BOLD, 12);

Я мог бы сделать новые диалоги с нуля и implent такое поведение, но это был бы перебор.

Есть ли способ, чтобы кнопку доступ на JOptionPane и добавить слушателя мыши к нему?

+1
2019-09-18 18:04:47
источник

Посмотрите другие вопросы по меткам