importjava.awt.Graphics;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclasspaintextendsJFrame{JPaneljp1;JPaneljp2;publicpaint(){this.add(jp1=newpanel1());jp1.se...
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class paint extends JFrame{
JPanel jp1;
JPanel jp2;
public paint(){
this.add(jp1=new panel1());
jp1.setLayout(null);
jp1.add(jp2 = new panel2());
jp2.setBounds(0, 0, 200, 200);
this.setBounds(400, 200, 200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
new paint();
}
}
class panel1 extends JPanel {
@Override
public void paint(Graphics g) {
g.drawString("jpanel-1", 20, 20);
}
}
class panel2 extends JPanel {
@Override
public void paint(Graphics g) {
g.drawString("jpanel-2", 50, 50);
}
}
以上代码 是我写的测试代码。 jp1 和 jp2 是两个面板,每个面板都画一个字符串,但是我jp1.add(jp2)后,面板内容重叠了, 结果就不显示了。问一下怎么解决这个重叠问题,就是面板透明化。面板不覆盖下层面板上的图像。
对了,如果是代码回复的话,麻烦你们先在本机上测试一下。 碰到好多人发的代码跑都跑不通,或者跑了结果还是原样。
最后,谢谢所有慷慨回答者。
普通面板重叠确定是没问题,但是如果在父面板和子面板上都绘画 就由重叠问题了。
展开