java - 当背景颜色 alpha 值设置为小于 255 (200) 时,JButton、JLabel、JTextArea 会抖动

标签 java swing jcomponent

我试图将 JTextArea 的背景设置为透明,alpha 值为 200 并添加到支持 Z 索引的 LayerPan,JTextArea 的后面是用于播放视频的 JPanel,前面是一个 JTextArea用于显示一些文本,一切正常,但 JTextArea 背景正在抖动。为了更好地理解这个问题,请查看下图:

情况1:正常 enter image description here

情况2:异常 enter image description here

在第二种情况下,你会看到背景不正确,这是我不想要的。可能是什么问题?

最佳答案

I am trying to set the background of a JTextArea transparent with alpha value 200

我以前从未尝试过使用视频和透明背景,但一般来说 Swing 不能正确支持透明背景。透明度打破了绘画规则,因为组件既不是完全不透明也不是透明。

所以基本上你需要确保首先绘制父组件的背景。然后您需要绘制组件的背景以获得透明度。

查看Background With Transparency了解更多信息和一个为您完成这幅画的简单类。

关于java - 当背景颜色 alpha 值设置为小于 255 (200) 时,JButton、JLabel、JTextArea 会抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43284430/

相关文章:

java - BlazeDS vs GraniteDS - 2 年后

java - 在调整应用程序窗口大小之前,jPanel 不会刷新

java - 通过 Netbeans 自动生成的代码在 Java 中的 JFrame 背景中设置图像

java - 绘制图像的形状

java - 无需单击按钮即可动态添加组件

java - 使用 JMockit 从模拟构造函数返回实际实例

java - 从外部类到 recyclerView 的 notifyDataSetChanged()

java - java中找不到文件异常

java - 将组件数组(panel.getComponents())存储到数组列表