GUI:图形用户界面,在awt和swing包下
awt和swing的区别
JAVA.awt:需要调用本地系统方法实现功能,属于重量级控件 轻重是指与系统的关联度
JAVAX.swing:在JAVA的基础上,提供了更多的组件,完全由JAVA实现,移植性强,属于轻量级控件
GUI由组件、容器、布局管理器组成。
组件:比如按钮、菜单、标签等。
容器:放置组件的地方。
布局管理器:组件摆放的位置顺序。
用以J开头的类名的原因是因为J开头的在Swing包下
如JTextFile在Swing包下,TextFile在awt包下
JFrame和JPanel的区别
JFrame是一个顶层的框架,是容器。
JPanel也是一个容器类。
JFrame相当于一个窗户,而窗户会有很多面,其中的一面就是JPanel。
Frame:窗体对象
方法:
1、Frame:无参构造
2、Frame.setsize():设置窗体大小
3、Frame.setLocation():设置窗体位置
4、Frame.setBounds(X,Y,Width,Higth): 把2和3结合起来 ,用这个 这个叫做绝对定位
5、Frame.setVisible(Boolean):让窗体可见 true表示可见
6、Frame.setLayout():设置布局方式
7、public void pack():调整窗口大小,适应布局
8、public void setBackground(Color c):设置窗体的背景颜色
布局方式有
FlowLayout:流式布局
方法: new FlowLayout(int align,int hgap,int vgap):指定对齐方式、水平、垂直间距 对齐方式有LEFT、CENTER、RIGHT
BorderLayout:边界布局
方法:public BorderLayout (int hgap,int vgap):构造有水平和垂直间距的布局器
BorderLayout.North 布局在上方
BorderLayout.Center 布局在中间
BorderLayout.West 布局在左方
BorderLayout.East 布局在右方
BorderLayout.South 布局在下方
GridLayout:网格布局
方法: new GridLayout(int x,int y) 设置布局格式为x行y列
CardLayout:卡片布局
关闭窗体的话在代码体现
代码
package cn.idcast;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Guidemo {
public static void main(String[] args) {
Frame f = new Frame();
f.setBounds(400, 100, 250, 250);
// 关闭窗体
f.addWindowListener(new WindowAdapter() { // WindowAdapter:适配器 WindowListener监听机制
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
f.setVisible(true);
}
}