1

由于 JPanel 和 Canvas 都是同一级别的组件,因此解决方案可能是某种“黑客”。这个问题说您将无法将轻量级组件添加到重量级画布(我希望 JPanel 透明)。

如果这不可行,那么放置一个透明的组件会起作用吗?另外,将 Swing 组件添加到 Component 是否可行(它必须工作,即使它很糟糕)。我将如何将它实际放在画布上(因为它们都是同一级别的组件)?

注意:我永远不会在真正的应用程序中做这样的事情,我只是在这种情况下需要它

4

1 回答 1

0

一种可能性是将 JPanel 添加到 Canvas 所在的任何容器中,然后将 JPanel 的颜色设置为 0 的 alpha。这应该将其添加到旧的容器上,而不会阻挡 Canvas。这是你想要的吗?

编辑:考虑一下,JPanel 的默认颜色是透明的......您应该能够将 JPanel 添加到 Canvas 的父级,并将其放在上面

于 2012-07-24T04:05:49.033 回答