我想使用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);
}