GUI之Panel测试程序
Panel对象可以看成可以容纳Component的空间
Panel对象可以拥有自己的布局管理器
Panel类拥有从父类继承而来的方法
TestPanel.java
import java.awt.*;
public class TestPanel {
public static void main(String args[]) {
Frame f = new Frame("Java Frame with Panel");
Panel p = new Panel(null);
f.setLayout(null);
//设置frame位置和大小
f.setBounds(300,300,500,500);
//设置Frame背景色
f.setBackground(new Color(0,0,102));
//设置Panel位置和大小
p.setBounds(50,50,400,400);
//设置Panel的背景色
p.setBackground(new Color(204,204,255));
//将panel添加到Frame
f.add(p);
//设置是否可见,true代表可见
f.setVisible(true);
}
}
实例2,多个Panel
TestMultiPanel.java
import java.awt.*;
public class TestMultiPanel {
public static void main(String args[]) {
new MyFrame2("MyFrameWithPanel",300,300,400,300);
}
}
class MyFrame2 extends Frame{
private Panel p1,p2,p3,p4;
MyFrame2(String s,int x,int y,int w,int h){
super(s);
setLayout(null);
p1 = new Panel(null); p2 = new Panel(null);
p3 = new Panel(null); p4 = new Panel(null);
p1.setBounds(0,0,w/2,h/2);
p2.setBounds(0,h/2,w/2,h/2);
p3.setBounds(w/2,0,w/2,h/2);
p4.setBounds(w/2,h/2,w/2,h/2);
p1.setBackground(Color.BLUE);
p2.setBackground(Color.GREEN);
p3.setBackground(Color.YELLOW);
p4.setBackground(Color.MAGENTA);
add(p1);add(p2);add(p3);add(p4);
setBounds(x,y,w,h);
setVisible(true);
}
}
练习测试:
CenterPanel.java
import java.awt.*;
/*
测试练习程序
*/
public class CenterPanel {
public static void main(String args[]) {
new MyFrame3(300,300,400,300,Color.BLUE);
}
}
class MyFrame3 extends Frame{
private Panel p;
MyFrame3(int x,int y,int w,int h,Color c){
super("FrameWithPanel");
setLayout(null);
setBounds(x,y,w,h);
setBackground(c);
p = new Panel(null);
//设置Panel的大小和位置
p.setBounds(w/4,h/4,w/2,h/2);
p.setBackground(Color.YELLOW);
add(p);
setVisible(true);
}
}