【发布时间】:2016-04-12 23:16:58
【问题描述】:
我有一个从 JFrame 扩展而来的类。我里面有多个 JLayeredPanes。我想从一个 JLayeredPane 切换到另一个。为此,我所做的是;
- 像
remove(pane1);一样删除当前的JLayeredPane repaint();- 将组件添加到新的 JLayeredPane 并设置边界
add(pane2)
这将删除我当前的 JLayeredPane 并显示下一个 JLayeredPane。但是组件没有添加到正确的位置。例如,我有一个包含 textarea 的 jscrollpane。仅显示滚动窗格并且缺少文本区域。此外,组合框的大小也发生了变化。为什么会这样?
这是一个包含整个 java 文件的 zip 文件http://s000.tinyupload.com/index.php?file_id=33381866612121130517
【问题讨论】:
-
考虑提供一个runnable example 来证明您的问题。这不是代码转储,而是您正在做的事情的一个例子,它突出了您遇到的问题。这将导致更少的混乱和更好的响应
-
@MadProgrammer 我已经上传了文件
-
setLayout(null);是你的第一个坏主意 -
你知道,据我所知,你不需要使用
JLayeredPane,不太清楚你为什么要使用它,但是你可以使用CardLayout来切换视图之间 -
@MadProgrammer 有什么快速解决方法吗?还在使用分层窗格?我需要你的帮助
标签: java swing jlayeredpane