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

如何在Java中单击JLabel时更改JLabel背景,java,swing,jlabel,Java,Swing,Jlabel,我想使用鼠标点击将JLabel背景更改为蓝色。我的JLabel的名字是lblKembali。我尝试了这段代码,当我尝试单击标签时,它没有改变背景。请帮忙。多谢各位 lblKembali = new JLabel("Kembali"); lblKembali.setPreferredSize(new Dimension(400,30)); lblKembali.setMaximumSize(getPreferredSize()); lblKembali.addMouseListener(n

我想使用鼠标点击将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);
}

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

lblKembali = new JLabel("Kembali");
lblKembali.setOpaque( true );
此外,您还可以通过执行以下操作使侦听器更通用,以便多个组件共享它:

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

尝试使您的
JLabel
obaque:
lblKembali.setobaque(true)
JLabel的可能副本尝试使您的
JLabel
obaque:
lblKembali.setobaque(true)
的可能副本