JLayeredPane中的组件重叠

San*_*mar 1 java swing jlayeredpane

我在JLayeredPane中添加了两个组件.
1. JWebBrowser
2. JPanel

我在不同的层中添加了JWebBrowser和JPanel.JWebBrowser在0层,即底层,JPanel在第1层.

m_LayeredPane.setLayer(m_WebBrowser, JLayeredPane.DEFAULT_LAYER);
m_LayeredPane.add(m_WebBrowser);
m_LayeredPane.setLayer(m_WebCamPane, JLayeredPane.PALETTE_LAYER);
m_LayeredPane.add(m_WebCamPane);
Run Code Online (Sandbox Code Playgroud)

现在的问题是JWebBrowser层与JPanel层重叠.

我尝试了各种各样的东西,比如moveToFront()方法,在运行时定义位置,将两个组件放在同一层并使用componentZorder等.但问题仍然是一样的.

我不确定是什么导致JPanel层返回JWebBrowser层.

Hov*_*els 6

我敢打赌,即使JWebBrowser最终从JPanel派生出来,它表现为一个带有一些原生组件的重量级组件.如果是这样,你可以做的事情有局限性,你可能想要阅读更多关于在Swing应用程序中混合重量和重量轻的组件的信息:混合重量和重量轻的组件