Java JLabel不透明和alpha

Java JLabel不透明和alpha,java,swing,jlabel,Java,Swing,Jlabel,在JPanel中,我有几个这样创建的JLabel: ... Random rand = new Random(); Color col = new Color(rand.nextFloat(), rand.nextFloat(), rand.nextFloat(), rand.nextFloat()); Color playColor= new Color(col.getRed(), col.getGreen(), col.getBlue(), col.getAlpha()); sqr.setO

在JPanel中,我有几个这样创建的JLabel:

...
Random rand = new Random();
Color col = new Color(rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat(),
rand.nextFloat());
Color playColor= new Color(col.getRed(), col.getGreen(), col.getBlue(), col.getAlpha());
sqr.setOpaque(true);
sqr.setBackground(playColor);
sqr.setLayout(null);
...
当我单击任何JLabel(mouseClicked(MouseEvent e))时,我可以在JOptionPane中获得有关它的信息。在同一个JOptionPane中,我有复选框来标记所选标签(选中->setBorder(BorderFactory.createLineBorder(Color.red)),取消选中->setBorder(null)。当我选中然后取消选中jLabel时,会出现类似这样的情况:

如何从标签中去掉这些复选框

编辑:标签上的复选框仅为图片,而不是真正的复选框。此图片可能有助于:


这个带有红色边框的正方形现在在JOptionPane上通过复选框标记进行检查。这个在左边(上面有复选框图片)我不知道该如何解释,这只是在我点击JOptionPane上的复选框标记后发生的。点击后,我在标签上设置红色边框或边框为空,仅此而已。

这些复选框不会“仅仅”精确地出现在那里。你是在标签的某个位置绘制它们吗?!请彻底检查

多一点代码会很有用。

作为旁白,(这可能应该是一个注释,但我使用的是代码块的答案)这

…相当于

Color playColor = new Color(
    rand.nextFloat(),
    rand.nextFloat(),
    rand.nextFloat(),
    rand.nextFloat());

一个SSCCE就好了。我不完全理解这个问题。更多的代码在这里会很有帮助。顺便说一句,为什么要使用->操作符??那是Java而不是C++@ignis,这个带箭头的片段不是代码:)我写这个来解释check option在做什么。很抱歉误解。标签上的复选框只是真实复选框的图片。在我选中和取消选中jPanel中的复选框后,它们会出现。我不画它们。请给我们看更多的代码!我不在乎颜色的东西和一切。向我们展示JPanel中的元素是如何布局的等等。
Color playColor = new Color(
    rand.nextFloat(),
    rand.nextFloat(),
    rand.nextFloat(),
    rand.nextFloat());