【发布时间】:2012-07-22 08:23:46
【问题描述】:
由于 JPanel 和 Canvas 都是同一级别的组件,因此解决方案可能是某种“黑客”。 This 问题说您将无法将轻量级组件添加到重量级画布(我希望 JPanel 透明)。
如果这不可行,那么放置一个透明的组件会起作用吗?另外,将 Swing 组件添加到 Component 是否可行(它必须工作,即使它很糟糕)。我将如何将它实际放在画布上(因为它们都是同一级别的组件)?
注意:我永远不会在真正的应用程序中做这样的事情,我只是在这种情况下需要它
【问题讨论】:
-
您是否习惯使用
Canvas? -
为什么你会使用
Canvas?您实际上想在这里实现什么目标? -
@AndrewThompson 我得到了一个画布,我想在上面放置 Swing 组件。我无法改变我获得 Canvas 的事实。
-
面板的内容是静态的吗?什么,具体是在面板中? ..当需要解释您试图提供的“用户功能”时,更多信息总比更少信息好。你看过
JLayeredPane吗? Java 7 提供了在没有工件的情况下混合 Swing 和 AWT 组件的能力。可以你的应用程序。证明要求 Java 7+ 的合理性? -
这是对 4 个问题的一个答案。四分之一的还不错,浪费我的时间。祝你好运。