我希望我的jLabel组件在单击时具有不同的背景颜色。我实际上已经编写了用于更改背景颜色的代码,但是我需要它在单击后保留新的颜色,并在第二次单击时返回默认值。我需要这方面的帮助。
private void jLabel1MouseEntered(java.awt.event.MouseEvent evt) {
jLabel1.setOpaque(true);
jLabel1.setBackground(Color.orange);
}
private void jLabel1MouseExited(java.awt.event.MouseEvent evt) {
jLabel1.setBackground(Color.white);
jLabel1.setOpaque(false);
}
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
jLabel1.setBackground(Color.green);
}
最佳答案
您应该将命令放在Mouse Clicked or pressed event
中
并且需要将JLable setOpaque
设置为true
,否则将不会绘制背景,因为opaque
的默认值为false
。
即
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
jLabel1.setOpaque(true);
jLabel1.setBackground(Color.red);
}