图形界面
主要是基于AWT和Swing包来实现的
AWT(抽象窗口工具包)
主要包括以下三种工具类
1)组件:Component
2)容器:Container
3)布局管理器:LayoutManager
Swing (保存在Javax.swing中)
基本容器JFrame
常用操作方法:
创建一个窗体:JFrame f = new JFrame;
设置窗体大小:f.setSize(int width , int height);
设置窗体背景颜色:f.setBackground(Color.颜色);
设置窗体显示位置:f.setLocation(int x, int y);
显示窗体:f.setVisible(true);
注意:可以用Dimension类封装组件的宽高(用于批量修改时比较方便)
也可以用Point类来封装显示位置(除此之外还可以移动组件位置通过坐标,使用move(int x, int y)方法,使用translate(int dx, int dy)方法可以平移组件);
标签组件JLabel
可以通过创建完的JLabel对象通过Container类中的add()方法加入到容器中 如下:
Container cont = frame.getContentPane();
cont.add(label);
更改JLabel的文字样式,使用到Font类
public void setFont(Font f);
在JLabel中设置图片,使用Imagelcon类
Icon icon = new Imagelcon(路径);
JLabel label = new JLabel(icon,JLabel.CENTER) //实例化对象,使用居中对齐
f.add(label);
按钮组件JButton
建立一个按钮即new JButton()即可
在按钮上显示一个图片:
Icon icon = new Imagelcon(路径);
JButton button = new JButton(icon) //实例化
f.add(buttton);
六、布局管理器
FlowLayout类
使用此布局方式会使所有组件像流水一样一次进行排列
BorderLayout类
将一个窗体的版面划分成为东,西,南,北中五个区域
GridLayout
表格形式排列,使用此布局时候必须设置显示的行数和列数
CardLayout
将一组件彼此重叠地进行布局,就像一张张卡片一样,这样每次都只会展示一个界面。
绝对定位:如果不想在窗体中指定布局管理器,也可以设置坐标的方式完成布局,在Component中提供了setBounds()方法,可以定位一个组件的坐标,使用X、Y的坐标表示方式