按下时如何更改 JButton 颜色

问题描述

我正在尝试制作登录/注册系统。我试图让它同时一个按钮被按下,它有不同的颜色,而不是认的浅绿色。

这是我的 JButton 之一

login = new JButton("Login");
login.setFont(f2);
Dimension size2 = login.getPreferredSize();
login.setBounds(105,85,size2.width,size2.height);
login.addActionListener(new LoginSystem());
login.setBackground(Color.WHITE);
login.setForeground(Color.BLACK);

有什么方法可以让它在按下时看起来不同吗?

解决方法

您必须为按钮的 MouseListener 添加一个 MouseAdapter。 例如:

login.addMouseListener(new MouseAdapter() {
    @Override
    public void mousePressed(MouseEvent e) {
        // do stuff here,change button background for example ...
        login.setBackground(Color.BLACK);
    }
});