首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JLayeredPane打乱布局

JLayeredPane打乱布局
EN

Stack Overflow用户
提问于 2020-05-11 20:50:12
回答 1查看 44关注 0票数 0

我想要有一个日历,其中的条目与JTable重叠。该JTable位于滚动窗格中,而滚动窗格又位于JLayeredPane中。

代码语言:javascript
复制
setLayout(new MigLayout("", "[:20%:200px,grow][26%,grow][26%,grow][26%]", "[:15%:80px,grow][85%,grow]"));

add(layeredPane, "cell 1 1 3 1,grow");
layeredPane.setLayout(new MigLayout("", "[100%,grow]", "[100%,grow]"));
layeredPane.setBackground(Color.BLACK);

table = new JTable();

JScrollPane scrollPane = new JScrollPane(table);
layeredPane.add(scrollPane, "cell 0 0,grow",0);

我现在正在计算我的面板的边界,它应该是一个条目。然而,当将该条目添加到JLayeredPane时,整个布局被打乱,并且它似乎在同一个层上。即使我的计算值是错误的,错误的结果仍然应该显示在不同的图层上。

代码语言:javascript
复制
JPanel panel = new JPanel();
panel.setBounds((int)position.getX(), (int)position.getY(), width, height);
panel.setBackground(Color.BLACK);
pane.add(panel, 300); // This is the JLayeredPane

然而,当我进入全屏模式时,就会发生这种情况:

为什么窗格没有在不同的图层上显示面板,为什么我的布局被它破坏了?

EN

回答 1

Stack Overflow用户

发布于 2020-05-11 22:21:35

代码语言:javascript
复制
pane.add(panel, 300); 

这似乎就是你将面板添加到layered窗格中的代码。虽然在代码的其他地方也有一个名为"layeredPane“的变量,但我不确定。

如果这指的是分层窗格,那么这就不是将组件添加到层的方式:

  1. 为什么要使用300作为图层?这不是一个像素位置
  2. 图层是由int值指定的,而不是Integer

有关更多信息和工作示例,请阅读How to Use Layered Panes上的Swing教程中的部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61730155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档