JFrame中先添加backgroundCanvas(extends java.awt.Canvas),然后在同一个JFrame中放两个可以操作的commanPane_1、commanPane_2(extends javax.swing.JPanel),期望commanPane_1、commonPane_2会显示在backgroundCanvas前面,但是结果是 backgroundCanvas 把 commanPane_1、commanPane_2都覆盖了。JLayeredPane lp = getLayeredPane();
lp.setOpaque(true);
commanPane_1.setBounds(100,100,300,300);
commanPane_2.setBounds(300,300,500,500);
backgroundCanvas.setBounds(200,200,400,400);
lp.add(commanPane_1,1);
lp.add(backgroundCanvas,3);
lp.add(commanPane_2,2);显示结果是,重叠的部分都被 backgroundCanvas 所覆盖!
原因是,当heavy weight和light weight 重叠显示时,heavy weight总是占优势。
请问,在不改变 commanPane_1 、commanPane_2 (extends JPanel) 和 backgroundCanvas (extends Canvas)基础上,如何让commanPane_1 、commanPane_2 显示在backgroundCanvas 前面?