java - 如何修复 JLabel 透明度错误?

标签 java swing jlabel transparent

我是 Java 的新手,我想做的很简单,我想让 JLabel 在鼠标进入标签区域时具有透明颜色,并使标签恢复其原始颜色当鼠标离开标签区域时。

我想这很简单并且在我的代码中有效但是当鼠标在标签上时我得到了一个奇怪的效果。这是我使用的代码:

在标签的mouseEntered事件中:

private void lblNuevoCLMouseEntered(java.awt.event.MouseEvent evt) {                                        
        // TODO add your handling code here:
        bgcolor=(new Color(0, 0, 0, 100));
        lblNuevoCL.setBackground(bgcolor); 
    }    

在 mouseExited 事件中:

private void lblNuevoCLMouseExited(java.awt.event.MouseEvent evt) {                                       
    // TODO add your handling code here:
     lblNuevoCL.setBackground(new java.awt.Color(206,206,255));
}  

这是当鼠标进入标签(图像左侧的方 block )时发生的情况: 它使用带有 alpha 的 RGB 颜色变得透明,但除了变得透明 如图所示,标签上出现奇怪的背景。

enter image description here

最佳答案

使 JLabel 不透明以允许设置背景色

lblNuevoCL.setOpaque(true);

关于java - 如何修复 JLabel 透明度错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121447/

相关文章:

java - 如果其中一个是静态的,你能用 Mockito/PowerMock 模拟一系列方法调用吗?

java - 在 JTabbedPane 中更改选项卡时如何停止编辑 JTable 中的 JCombobox

java - 如何使值全局化,以便我可以访问类中的任何位置

java - 二叉搜索树小计数练习

java - 方法 OnCreate(bundle) 永远不会被调用并且应用程序崩溃

java - N 次执行后停止 Swing 计时器

java - 判断JLabel文本是否被截断?

java - 在 JFrame setVisible 之后更改 JLabel 的首选大小

java - 使用 java 登录 space-track.org

java - 绑定(bind)数据触发更改后 Swing/JTable 不更新