Glass Pane vs. Layered Pane的使用案例

时间:2010-04-01 15:20:00

标签: java swing jlayeredpane glasspane

我对玻璃窗格和分层窗格之间的区别总是有点模糊。玻璃窗格基本上只是“根窗格的最顶层”,还是表现不同?您何时使用分层窗格而不是玻璃窗格?

1 个答案:

答案 0 :(得分:8)

它们是两回事:

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

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

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