【发布时间】:2026-02-10 15:40:01
【问题描述】:
我有以下行:
label.setBackground(new java.awt.Color(0, 150, 0, 50));
我将它放在 MouseAdapter 内的 mouseReleased 方法中。
基本上,当我点击它时,我想让标签以半透明的绿色突出显示。
我在一个面板中有几个标签,所有标签都添加了这个 MouseAdapter。
我的问题是这样的:
-当我点击标签时,它显示半透明的绿色,但它显示的是另一个JLabel的背景,而不是我点击的那个。
无论我点击哪个标签,它总是绘制同一个标签的背景。
-每当我单击标签时,它都会重复相同的背景。 - 奇怪的是,每次我点击一个 JLabel 时,绿色的不透明度似乎会增加,好像每次我点击一个新的 JLabel 时它都会在自身上涂上半透明的绿色。
关于发生了什么的任何提示?我应该尝试在此发布 SSCCE 吗?还是有一个我缺少的简单答案。我还没有发布SSCCE的原因是我的代码很大并且分布在多个文件中,所以我必须先把它修剪掉。
【问题讨论】:
-
这段代码对我们有很大帮助。事实上,您可能会在重新创建一个独立的示例时自己发现问题。
-
您至少可以发布最后分配
label变量的代码。这是最有可能与为什么选择错误标签相关的代码!