单击 Java 中的 JLabel 时如何更改 JLabel 背景

How to change JLabel background when I click the JLabel in Java

我想使用 mouseClicked 将我的 JLabel 背景更改为蓝色。我的 JLabel 的名称是 lblKembali。我试过这段代码,当我试图点击标签时,它没有改变背景。请帮忙。谢谢。

lblKembali = new JLabel("Kembali");
lblKembali.setPreferredSize(new Dimension(400,30));
lblKembali.setMaximumSize(getPreferredSize());    
lblKembali.addMouseListener(new java.awt.event.MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                    lblKembali.setBackground(Color.BLUE);
            }
        });

默认情况下,JLabel 是非不透明的,因此不会绘制其背景。您需要在创建标签时将其设为不透明:

lblKembali = new JLabel("Kembali");
lblKembali.setOpaque( true );

您还可以使您的侦听器更通用,以便多个组件可以通过以下方式共享它:

public void mouseClicked(MouseEvent e) 
{
    Component c = e.getComponent();
    c.setBackground(Color.BLUE);
}