JAVA是否可以使用BorderLayout在JPanel中的NORTH和SOUTH之间重叠对象?

时间:2018-09-12 16:25:00

标签: java jpanel jtabbedpane overlapping jlayeredpane

我有 JTabbedPane ,它的一个标签中包含 JPanel和BorderLayout (NORTH中的一个JPanel用于类似菜单的主题,cca的高度很窄。50px+一个JPanel包含了SOUTH中的JScrollPane以获得很高的内容。

当我单击顶部北部部分中的菜单式项目之一时,我希望它打开一个类似于子菜单的容器/窗口,该容器/窗口将向下重叠在“南部”(内容)部分上方 -可以做到吗?如果可以,怎么办?

我尝试过的所有操作都使它在SOUTH部分开始的地方被切除,或者它更新了NORTH高度,这是错误的(也就是说:不是我想要的)-NORTH高度必须保持不变。

我正在考虑将JPanel更改为JLayeredPane,这将使我能够重叠对象(JPanels),直到被告知无法将JLayeredPane添加到JTabbedPane中。

还是应该将我的布局从BorderLayout更改为其他内容?我试图将其设置为null,然后简单地手动放置所有内容,但这完全破坏了设计,因此我立即将其报废。

1 个答案:

答案 0 :(得分:0)

所以,在@HovercraftFullOfEels的建议下(谢谢!)尝试使用GlassPane,我玩了一点,基本上就是这样,只是有问题的解决方案:

Store.BackgroundFinalizer().then(function() {
  console.log('DO ALARM when Data is there');
  alarmNextEpisode();
});