JAVA动画
- CUI(Graphics User Interface):图形用户接口
- AWT (Abstract Window ToolKit):抽象窗口工具包
- Swing:对AWT的一个升级
AWT和Swing十年为实现图形页面而提供的工具包
Swing与AWT相比的优点
- 轻量级组件
- 可改变的外观
- 性能能更稳定
**要知道:**Component是组件的意思,所有组件的根类。Container是图形上的容器(也是组件),所以Container是Component的直接子类
常见容器
*JFrame是顶层框架,默认的布局管理器 是边界布局(BorderLayout);JPanel默认的布局管理器为FlowLayout。
创建窗口
JFrame jf=new JFrame();
jf.setTitle("我是窗体"); //命名
jf.setSize(200,400); //从左上角开始
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭
- 边框布局
JButton btn1=new JButton("确定");
JButton btn2=new JButton("取消");
JButton btn3=new JButton("中");
JButton btn4=new JButton("东");
JButton btn5=new JButton("西");
jf.setLayout(new BorderLayout()); //运用边框布局
jf.add(btn1,"North"); //定位
jf.add(btn2,"South");
jf.add(btn3,BorderLayout.CENTER);
jf.add(btn4,BorderLayout.EAST);
jf.add(btn5,"West");
- 流式布局,位置会变化
jf.setLayout(new FlowLayout()); //运用流式布局
jf.add(btn1);
jf.add(btn2);
jf.add(btn3);
jf.add(btn4);
jf.add(btn5);
3.网格化布局
jf.setLayout(new GridLayout(2,3)); //表示两行三列,按添加的顺序从左到右排列,随着窗口的变化,排列位置是不会改变的
jf.add(btn1);
jf.add(btn2);
jf.add(btn3);
jf.add(btn4);
jf.add(btn5);
让窗口可视化
jf.setVisible(true); //让它显示,一般放在最后一条语句
具体应用
文本框
JPanel panel=new JPanel();
JLabel lab=new JLabel("我是一个标签"); //创建一个带有字符串的JLable的对象
panel.add(lab); //将标签添加到窗体上
JPanel*
创建一个窗体的步骤
-
继承JFrame
-
定义需要的组件(成员变量)
-
定义构造函数(定义初始化方法)
-
super(s); //setTitle(s)
-
创建具体的组件对象
-
设置布局管理器
-
添加组件
-
窗体属性设置(设置大小和位置;调用窗口关闭方法;调用窗口可见方法)