我试图重叠两个相同大小的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前面移动伪


然后,您应该使用CardLayoutCardLayout是一种布局管理器,它允许2个(或更多)组件占据相同的空间,但是一次只能看到一个组件。

阅读有关How to Use CardLayout的Swing教程中的部分,以获取更多信息和一个实用的示例以开始使用

08-26 11:39