我有一个JLabel,可以在鼠标输入时更改其背景颜色。我的问题是我希望JLabel在鼠标退出后变得透明。
有没有我可以用来完成此任务的声明?
在德国,这是一个懒惰的假期,因此结合以下两个答案:
final JLabel label = new JLabel("some label with a nice text");
label.setBackground(Color.YELLOW);
MouseAdapter adapter = new MouseAdapter() {
/**
* @inherited <p>
*/
@Override
public void mouseEntered(MouseEvent e) {
label.setOpaque(true);
label.repaint();
}
/**
* @inherited <p>
*/
@Override
public void mouseExited(MouseEvent e) {
label.setOpaque(false);
label.repaint();
}
};
label.addMouseListener(adapter);
问题(实际上,我倾向于将其视为错误)是设置opaque属性不会触发适当的重绘。JComponent触发了change事件,但似乎没人在听:
public void setOpaque(boolean isOpaque) {
boolean oldValue = getFlag(IS_OPAQUE);
setFlag(IS_OPAQUE, isOpaque);
setFlag(OPAQUE_SET, true);
firePropertyChange("opaque", oldValue, isOpaque);
}
通过使用启用透明背景功能,可以使用自定义图片作为背景。 controller.setTransparentBackground( true );
问题内容: 我有以下几行: 我将其放在MouseAdapter中的mouseReleased方法中。 基本上,我想使标签在单击时以半透明的绿色突出显示。 我在面板中有几个标签,所有标签都添加了此MouseAdapter。 我的问题是这样的: -当我单击标签时,它显示半透明的绿色,但是显示的是ANOTHER JLabel的背景,而不是我单击的背景。 无论我单击哪个标签,它始终会绘制同一标签的背景。
我遇到了让情节本身透明的方法,但是我如何让背景透明呢?没有Qt有办法做到这一点吗?我希望情节在背景窗口上,例如,假设我正在运行Chrome,我希望情节在chrome窗口上,其内容可见。
我在这里的要求是使我的孩子突出,而没有的白色背景-(因此AnchorPane需要透明),我如何实现这一点?
问题内容: 使JTable背景透明不是那么容易。我只想查看单元格的文本内容。 问题答案: 如果表本身或单元格都不透明,则该表将是透明的: 如果表格位于中,则也将使其透明: 至少,您可以删除网格线: 一个简单的结果是一件很大的工作…
问题内容: 我正在使用类似于以下代码的内容: 我希望这可以使背景的不透明度为0.4,文本的不透明度为100%。相反,它们都具有0.4的不透明度。 问题答案: 儿童遗传不透明。如果他们不这样做,那将会很奇怪和不便。 您可以为背景图像使用半透明的PNG文件,也可以为背景颜色使用RGBa(alpha表示)颜色。 例如,50%的黑色背景褪色: