GUI编程
java.awt
如何写一个Frame窗口
import java.awt.*;
public class MyFirstFrame {
public static void main(String[] args) {
//java.awt中的窗口类
Frame windows1=new Frame("一个新的窗口");
//设置窗口的可见性
windows1.setVisible(true);
//设置窗口的大小和初始位置
windows1.setSize(500,500);
windows1.setLocation(500,500);
/*
windows1.setBounds(500,500,500,500);
该代码等价于上述两个代码
*/
//设置背景颜色
windows1.setBackground(Color.gray);
/*
颜色还可以这样设置RGB
windows1.setBackground(new Color(1,1,1) );
*/
//设置窗口大小固定,不能扩缩
//windows1.setResizable(false);
}
}
效果图
此时发现无法关闭窗口,我们可以加一个监听事件
//关闭窗口
windows.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
//结束程序
System.exit(0);
}
});
之后发现窗口可以正常关闭了
如何打开多个窗口
import java.awt.*;
public class MoreFrame {
//如何显示多个窗口
public static void main(String[] args) {
MyFrame windows1=new MyFrame(100,100,100,100,Color.yellow);
MyFrame windows2=new MyFrame(200,100,100,100,Color.red);
MyFrame windows3=new MyFrame(100,200,100,100,Color.blue);
MyFrame windows4=new MyFrame(200,200,100,100,Color.pink);
}
}
//自己定义一个Frame的继承类
class MyFrame extends Frame {
static int id=1;//窗口编号
//定义一个有参构造(窗口位置和大小和背景颜色)
public MyFrame(int x,int y,int width,int height,Color color){
super("窗口"+(id++));
setBackground(color);
setBounds(x,y,width,height);
setVisible(true);
}
}