在AWT组件上添加透明JPanel以进行绘制

时间:2010-02-17 16:34:17

标签: java swing awt jpanel paint

我遇到了一个问题:在我的Java应用程序中,我有一个AWT组件(无法更改那个),它会流式传输并显示一个avi文件。现在我想借鉴这部电影并考虑将透明的JPanel放在它上面,然后画上它。

这不起作用,因为我看到了avi-stream或绘制的线条,但不是两者。

我在某地读过AWT不支持组件的透明度 - 但是面板是一个能够这样做的JPanel。

有人可以帮我解决这个问题 - 提前谢谢。

4 个答案:

答案 0 :(得分:2)

Mixing Light and Heavyweight Components文章解释了如何仅在最新版本的JDK中处理此问题。

答案 1 :(得分:1)

你是否尝试过GlassPane,因为我认为这正是它的用例。如果我没记错的话,就像JFrame.setGlassPane()一样。点击这里:

Java API JFrame

GlassPane examples

答案 2 :(得分:0)

我已经搜索了一个可以帮助我的重量级组件,但我没有找到一个,关于内部框架,我不知道你是如何设置不透明度为50.所有我发现的关于选择不透明度的东西方法setOpaque(布尔值),这对我没有任何帮助。请你解释一下你是如何设置不透明度的。这是我的最后选择,或者我必须改变我的整个项目设计。

答案 3 :(得分:0)

尝试在单独的线程上运行Stream和Drawing。我认为这可以帮助