用vs拖动窗体很方便,panel可以重叠在一起的。
如果是用java的话,可以实现吗?
如果可以用java实现,求指点。

解决方案 »

  1.   

    下面是自己的测试后的效果,结果为,红色层在最上面,然后绿色层蓝色层在最下面。import java.awt.Color;
    import java.awt.Rectangle;
    import javax.swing.JFrame;
    import javax.swing.JLayeredPane;
    import javax.swing.JPanel;public class TestLayeredPane extends JFrame {
    private JPanel panelRed = new JPanel();
    private JPanel panelBlue = new JPanel();
    private JPanel panelGreen = new JPanel();
    private JLayeredPane layeredPane = this.getLayeredPane();
    public TestLayeredPane() {
    super("JLayeredPane");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(360, 260);

    panelRed.setBackground(Color.RED);
    panelBlue.setBackground(Color.BLUE);
    panelGreen.setBackground(Color.GREEN);
    panelRed.setBounds(new Rectangle(50, 50, 100, 100)); 
    panelBlue.setBounds(new Rectangle(75, 75, 100, 100));
    panelGreen.setBounds(new Rectangle(100, 100, 100, 100));

    layeredPane.add(panelRed, 0); // 设置层叠顺序
    layeredPane.add(panelBlue, 2);
    layeredPane.add(panelGreen, 1);
    }
    public static void main(String args[]) {
    new TestLayeredPane().setVisible(true);
    }
    }
      

  2.   

    下面是自己的测试后的效果,结果为,红色层在最上面,然后绿色层蓝色层在最下面。import java.awt.Color;
    import java.awt.Rectangle;
    import javax.swing.JFrame;
    import javax.swing.JLayeredPane;
    import javax.swing.JPanel;public class TestLayeredPane extends JFrame {
    private JPanel panelRed = new JPanel();
    private JPanel panelBlue = new JPanel();
    private JPanel panelGreen = new JPanel();
    private JLayeredPane layeredPane = this.getLayeredPane();
    public TestLayeredPane() {
    super("JLayeredPane");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(360, 260);

    panelRed.setBackground(Color.RED);
    panelBlue.setBackground(Color.BLUE);
    panelGreen.setBackground(Color.GREEN);
    panelRed.setBounds(new Rectangle(50, 50, 100, 100)); 
    panelBlue.setBounds(new Rectangle(75, 75, 100, 100));
    panelGreen.setBounds(new Rectangle(100, 100, 100, 100));

    layeredPane.add(panelRed, 0); // 设置层叠顺序
    layeredPane.add(panelBlue, 2);
    layeredPane.add(panelGreen, 1);
    }
    public static void main(String args[]) {
    new TestLayeredPane().setVisible(true);
    }
    }