我希望我的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);

    }

10-06 05:46