第十一周课程总结
本周学习的内容为 图形界面
java的图形界面开发中可使用的技术有 AWT 和 Swing两种。AWT是大量使用了Windows的系统函数,Swing则是由Java来实现的用户界面,它可以在任意系统平台工作。
AWT,是抽象窗口工具包,它中的所有工具类都保存在java.awt包中,此包中的工具类主要分为:
1.组件:Component
2.容器:Container
3.布局管理器:LayoutManager
Java中所有的Swing都保存在javax.swing包中
基本容器:JFrame
使用Swing创建一个窗口,直接使用JFrame类即可。
JFrame类的常用操作方法 | 类型 | 描述 |
---|---|---|
public JFrame() throws HeadlessException | 构造方法 | 创建一个普通的窗体对象 |
public JFrame(String title) throws HeadlessException | 构造方法 | 创建一个窗体对象,并指定标题 |
public void setSize(int width,int height) | 普通方法 | 设置窗体大小 |
public void setSize(Dimension d) | 普通方法 | 通过Dimension设置窗体大小 |
public void setBackgorund(color c) | 普通方法 | 设置窗体背景颜色 |
public void setLocation(int x,int y) | 普通方法 | 设置组件的显示位置 |
public void setLocation(point p) | 普通方法 | 通过point来设置组件的显示位置 |
| public void setVisible(boolean b) | 普通方法 | 显示或隐藏组件|
| public Component add(Component comp)| 普通方法 | 向容器中增加组件|
| public void setLayout(LayoutManager mgr) | 普通方法 | 设置局部管理器,如果设置为null表示不使用|
| public void pack() | 普通方法 | 调整窗口大小,以适合其子组件的首选大小和局部|
| public Container getContentpane() | 普通方法 | 返回此窗口的容器对象|
标签组件:JLabel
JLabel组件表示一个标签,本身用于显示信息,创建完的Label对象可通过Container类中的add()方法加入到容器中
JLabel类中的常用方法 | 类型 | 描述 |
---|---|---|
public static final int LEFT | 常量 | 标签文本左对齐 |
public static final int CENTR | 常量 | 标签文本居中对齐 |
public static final int RIGHT | 常量 | 标签文本右对齐 |
public JLabel() throws HeadlessException | 构造 | 创建一个JLabel对象 |
public JLabel(String text) throws HeadlessException | 构造 | 创建一个标签并指定文本内容,默认左对齐 |
public Label (String text, int alignment) throws HeadlessException | 构造 | 创建一个标签并指定文本内容以及对齐方式,可以使用JLabel.LEFT丶JLabel.RIGHT丶JLabel.CENTER3个值 |
public JLabel(String text, Icon icon, int horizontalAlignment) | 构造 | 创建具有指定文本丶图像和水平对齐方式的JLabel对象 |
public JLabel (Icon image, int horizontalAlignment) | 构造 | 创建具有指定图像和水平对齐方式的JLabel实例 |
public void setText(String text) | 普通 | 设置标签的文本 |
public String getText() | 普通 | 取得标签的文本 |
public void setAlignment(int alignment) | 普通 | 设置标签的对齐方式 |
public void setIcon(Icon icon) | 普通 | 设置指定的图像 |
等等....
布局管理器
FlowLayout:流式布局管理器
BorderLayout:将一个窗体的版面划分为东西南北中,可以直接将需要的组件放入这5个区域中。复杂一点就是在这5个区域中放入其他的容器,再在那些容器中使用布局管理器放一些组件。
GridLayout:以表格的形式进行管理,使用此布局管理器时必须设置显示的行数和列数。显示的时候它是行优先,先会保证行。 计算器的操作可以使用此布局管理器。
CardLayout:将一组组彼此重叠地进行布局,就像一张张卡片一样,每次只会展现一个界面,图片的浏览就可以使用此布局管理器,我感觉用手机看小说翻页的时候和这个也是一样的。复杂一点可以在每一个界面放置容器,再加组件,每个界面都可以是不一样的东西。
绝对定位:使用pulbic void setBounds(int x , int y, int width, int height)来定位一个组件的坐标和大小.
BorderLayout操作
本来想让它在5个方位放置五张图片,但是图片太大了,就只显示了一张。边上可以显示一点点按钮,图片的话就被吃了。
绝对定位操作