Изменение прозрачности JButton - Java

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. У меня есть кнопка, которая меняет цвет текста, если на нее навести мышку. Проблема в том, что у фона кнопки задана некоторая степень прозрачности и она почему-то постепенно меняется, каждый раз, когда я навожу мышку и отвожу ее назад. Вот я создаю какую-нибудь кнопку:
        JButton btn5 = new JButton("Exit Program");
        buttonType(btn5);
        btn5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
Функция настройки стиля кнопки:
    private void buttonType(final JButton button) {
        button.setBorderPainted(false);
        button.setContentAreaFilled(true);
        button.setFocusPainted(false);
        button.setFont(new Font("Monotype Corsiva", Font.LAYOUT_NO_START_CONTEXT, 40));
        button.setForeground(new Color(255, 0, 0, 200));
        button.setBackground(new Color(255, 255, 255, 50));
        button.addMouseListener(new MouseAdapter() {
            public void mouseEntered(MouseEvent e) {
                button.setForeground(new Color(0, 255, 0, 200));
            }
            public void mouseExited(MouseEvent e) {
                button.setForeground(new Color(255, 0, 0, 200));
            }
        });
    }
Вот как изменяется прозрачность:
и так далее пока фон не станет окончательно белым. Подскажите, в чем может быть ошибка? Заранее спасибо.

Решение задачи: «Изменение прозрачности JButton»

textual
Листинг программы
        final JFrame MainWindow = new JFrame("Frame");
        MainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // <...>
        JButton btn5 = new JButton("Exit Program");
        buttonType(btn5, MainWindow);
        btn5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.533 из 5