Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
由于 JPanel 和 Canvas 都是同一级别的组件,因此解决方案可能是某种“黑客”。这个问题说您将无法将轻量级组件添加到重量级画布(我希望 JPanel 透明)。
如果这不可行,那么放置一个透明的组件会起作用吗?另外,将 Swing 组件添加到 Component 是否可行(它必须工作,即使它很糟糕)。我将如何将它实际放在画布上(因为它们都是同一级别的组件)?
注意:我永远不会在真正的应用程序中做这样的事情,我只是在这种情况下需要它
一种可能性是将 JPanel 添加到 Canvas 所在的任何容器中,然后将 JPanel 的颜色设置为 0 的 alpha。这应该将其添加到旧的容器上,而不会阻挡 Canvas。这是你想要的吗?
编辑:考虑一下,JPanel 的默认颜色是透明的......您应该能够将 JPanel 添加到 Canvas 的父级,并将其放在上面