我试图重叠两个相同大小的JPanels(此处为“ pseudo”和“ svg”)。 JPanel伪指令位于svg之后。 JButton应该在svg前面移动伪指令。结果是centerPanel.moveToFront(pseudo)不起作用。我错过了什么?
centerPanel = new JLayeredPane();
centerPanel.setLayout(new BorderLayout());
centerPanel.add(pseudo, BorderLayout.CENTER, -1);
centerPanel.add(svg, BorderLayout.CENTER, 0);
view3D = new JButton("View 3D");
view3D.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
centerPanel.moveToFront(pseudo);
}
});
最佳答案
JButton应该在svg前面移动伪
然后,您应该使用CardLayout
。 CardLayout
是一种布局管理器,它允许2个(或更多)组件占据相同的空间,但是一次只能看到一个组件。
阅读有关How to Use CardLayout的Swing教程中的部分,以获取更多信息和一个实用的示例以开始使用