如何将一个组件置于其他组件之上?

3

我有一个包含3个内部面板的大面板,它在一个JScrollPanel中。我想把一个面板放在一个特定的位置,以便始终可以看到,我的意思是用户可以滚动到任何地方,但该面板始终位于其他组件的顶部且不移动。我尝试使用JLayeredPane来实现这一点,但我失败了。我该怎么做?

3个回答

8

这里有一个关于JLayeredPane的示例链接, 但是这里看到的OverlayLayout可能更加有用。它没有被包含在传统的画廊中。

OverlayLayout

此外,还需要考虑在滚动窗格的JViewport上绘制的示例

viewport


5

您可以使用以下方法来将内容叠加在屏幕上其他组件的顶部:


1
你可不可以把你不想移动的内容放在另一个不是滚动面板的JPanel中?如果你不想让它滚动,我不明白为什么要把它包含在滚动面板中。
所以有一个大面板(称之为bigPanel或其他名称),它不会滚动。然后在bigPanel中放置你不想滚动的面板。同时也将滚动面板放在bigPanel中。
也许我漏掉了什么,但这样做能解决你的问题吗?

我想把那个面板放在其他面板的顶部,原因是它具有的功能,即将成为一个通知栏,有时会出现在其他事物的顶部,并在一段时间后消失。换句话说,我想要它在其他面板的顶部而不是旁边,这与我的程序GUI设计有关。 - Soheil
你实际上是想要它覆盖其他面板的内容,还是只想让它出现在它们上面然后消失?而且通过上面,我指的是沿着y轴,而不是z轴。 - sage88

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接