为什么流式布局就覆盖了呢,我试了一下,声明为流式也可以显示,也就是说应该不是流式的问题
import java.awt.*;
class SetF extends Frame{
public static void main(String argv[]){
SetF s=new SetF();
TextField tf1, tf2, tf3, tf4;
tf1 = new TextField();
tf2 = new TextField("", 20);
tf3 = new TextField("Hello!");
tf4 = new TextField("Hello", 30);
Panel p=new Panel();
s.setLayout(new FlowLayout());//设定布局为边界布局
p.add(tf1);
p.add(tf2);
p.add(tf3);
p.add(tf4);
s.add(p); //添加在上面
s.setSize(300,400);
s.setBackground(Color.pink);
s.setVisible(true);
s.repaint();
}
public void paint(Graphics g){
g.drawString("Dolly",100,100);
}
}
----------------解决方案--------------------------------------------------------
如果是s.add(p,"North"); ,那我p.repaint();能显示出来;但是如果是s.add(p),那还是显示不出来。
既然是被panel覆盖了,那我添加到panel上不应该显示不出来的呀?
当然了 不加North的话 它默认是加在中间的 (Center)
----------------解决方案--------------------------------------------------------
加在中间为什么就看不见了呢?Panel并没被谁覆盖呀,不管是North,Sorth还是Center都应该可以显示才对呀。
不解。。。
----------------解决方案--------------------------------------------------------
panel没被覆盖 但是它覆盖了"Dolly"
----------------解决方案--------------------------------------------------------
Dolly是加在Panel上的,怎么会被Panel覆盖呢?
----------------解决方案--------------------------------------------------------
S.repaint()是加在 窗体上的
----------------解决方案--------------------------------------------------------
S.repaint()是加在 窗体上的
但是现在是p.repaint()而不是S.repaint()呀。
----------------解决方案--------------------------------------------------------
p.repaint()是不会被覆盖的 可以看见啊
----------------解决方案--------------------------------------------------------
是挺奇怪 啊我也没弄明白 到底怎么覆盖了
package setf;
import java.awt.*;
class SetF extends Frame{
public static void main(String argv[]){
SetF s=new SetF();
TextField tf1, tf2, tf3, tf4;
tf1 = new TextField();
tf2 = new TextField("", 5);
tf3 = new TextField("Hello!");
tf4 = new TextField("Hello", 5);
Panel p=new Panel();
//s.setLayout(new BorderLayout());//设定布局为边界布局
//s.setLayout(new FlowLayout());
p.add(tf1);
p.add(tf2);
p.add(tf3);
p.add(tf4);
//s.add(p,"North"); //添加在上面
s.add(p);
s.setSize(300,400);
s.setBackground(Color.pink);
s.setVisible(true);
p.repaint();
}
public void paint(Graphics g){
g.drawString("Dolly",100,100);
}
}//Dooly被覆盖
----------------解决方案--------------------------------------------------------
p.repaint()是不会被覆盖的 可以看见啊
你用shaoxuecheng 的这段代码也能看见??
----------------解决方案--------------------------------------------------------