Java 玻璃窗格与分层窗格的使用案例

Java 玻璃窗格与分层窗格的使用案例,java,swing,jlayeredpane,glasspane,Java,Swing,Jlayeredpane,Glasspane,我一直对玻璃窗格和分层窗格之间的区别有点模糊。玻璃窗格本质上只是“根窗格的最顶层”,还是它的行为有所不同?什么时候使用分层窗格而不是玻璃窗格?它们是两种不同的东西: 分层窗格是在JFrame中添加或显示的所有内容的目标。例如,每个普通组件,如JLabels,JTextFields,JTable等。。此外,它还隐式地处理添加到其中的元素的z顺序,以便它可以处理弹出菜单或拖放效果:这是因为弹出菜单添加到分层窗格中,z高于正常组件,最终效果保持在其他内容之上。查看以更好地了解行为 玻璃窗格是一个可选

我一直对玻璃窗格和分层窗格之间的区别有点模糊。玻璃窗格本质上只是“根窗格的最顶层”,还是它的行为有所不同?什么时候使用分层窗格而不是玻璃窗格?

它们是两种不同的东西:

  • 分层窗格是在
    JFrame
    中添加或显示的所有内容的目标。例如,每个普通组件,如
    JLabels
    JTextFields
    JTable
    等。。此外,它还隐式地处理添加到其中的元素的z顺序,以便它可以处理弹出菜单或拖放效果:这是因为弹出菜单添加到分层窗格中,z高于正常组件,最终效果保持在其他内容之上。查看以更好地了解行为

  • 玻璃窗格是一个可选层,默认情况下隐藏,并且在任何情况下都位于层窗格的顶部。因此,基本上,你在玻璃窗格上绘制的所有内容都将始终可见:你可以将其视为一张投影板,应用在普通
    JFrame
    的顶部,你可以选择使用它,你需要特殊效果


分层窗格和玻璃窗格都放置在根窗格上,根窗格是构建每个帧的基础。

能否将
JLabels
JTexFields
JTable
等添加到玻璃窗格中?还是直接在上面画东西?