【发布时间】:2010-05-31 18:32:34
【问题描述】:
我有一个问题。在 LayeredPane 中,我有 2 个组件:重量级组件和位于第一个组件上方的 JComponent(或任何其他我可以在其中绘制文本的组件)。我希望 JComponent 具有透明背景,但它具有黑色背景。重量级组件是渲染视频的组件,而 JComponent 是我在其中绘制文本的组件。此文本应以透明背景打印。
我尝试使用 GlassPane,但 glassPane 的玻璃内容显示在轻量级组件上方和重量级组件下方。
是否有可能在重量级组件(Canvas)上方绘制文本?
ps。我无法重载绘制方法,因为我得到了作为 Canvas 子类的 HeavyComponent 类的对象。
【问题讨论】:
-
你真的需要
HeavyComponent吗?为什么不从JPanel扩展呢? -
此外,“重量级 [组件] 总是不透明的。”—java.sun.com/products/jfc/tsc/articles/mixing
-
我必须使用 HeavyComponent,因为我是从 JMF 包的 getVisualComponent() 方法中获取这个组件
标签: java swing transparent jlayeredpane