第十一周作业课程总结
第三节:布局管理器
-
FlowLayout 流式布局:
FlowLayout,流式布局管理器。按水平方向依次排列放置组件,排满一行,换下一行继续排列。
同一行(水平方向)的组件的对齐方式由 FlowLayout 的align属性确定,它可能的值如下:
-
FlowLayout.LEFT : 左对齐
-
FlowLayout.CENTER : 居中对齐(默认)
-
FlowLayout.RIGHT : 右对齐
-
FlowLayout.LEADING : 与容器方向的开始边对齐,例如,对于从左到右的方向,则与左边对齐
-
FlowLayout.TRAILING : 与容器方向的结束边对齐,例如,对于从左到右的方向,则与右边对齐。
-
BorderLayout 方位布局:
- BorderLayout,边界布局管理器。它把 Container 按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。
- BorderLayout 表示方位的 5 个常量:
BorderLayout.NORTH // 容器的北边
BorderLayout.SOUTH // 容器的南边
BorderLayout.WEST // 容器的西边
BorderLayout.EAST // 容器的东边
BorderLayout.CENTER // 容器的中心
-
GridLayout 表格布局:
-
GridLayout,网格布局管理器。它以矩形网格形式对容器的组件进行布置,把容器按行列分成大小相等的矩形网格,一个网格中放置一个组件,组件宽高自动撑满网格。
-
以行数和总数优先: 通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时,指定的列数将被忽略。列数通过指定的行数和布局中的组件总数来确定。
-
Null 绝对布局:
- null,绝对布局。绝对布局没有特定一个布局管理器类来表示,给容器的布局管理器设置为 null,就表示使用绝对布局,即通过设置组件的坐标和宽高来布置组件。
- 绝对布局需要明确指定每一个组件的坐标和宽高,否则不显示。
- 对于使用其他布局时给组件设置坐标和宽高,一般会遵循以下两点:
使用其他布局时,如果在窗口显示之后,再添加新组件,则该组件也会被当做绝对布局对待(即需要手动指定坐标和宽高);
使用其他布局时,如果在窗口显示之后,修改之前添加的组件的坐标和宽高,则该组件也会被当做绝对布局对待(即此时修改坐标和宽高会生效)。
第四节:JButton组件:
第四节:Java Swing:(图形界面开发)
JFrame – java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。
JPanel – Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中。。
JLabel – JLabel 对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐。
JTextField –一个轻量级组件,它允许编辑单行文本。
JPasswordField – 允许我们输入了一行字像输入框,但隐藏星号(*) 或点创建密码(密码)
JButton – JButton 类的实例。用于创建按钮类似实例中的 "Login"。
1、Java引入图形化界面编程。
JFrame 是容器类。
AWT 是抽象窗口组件工具包,是 Java 最早的用于编写图形节目应用程序的开发包。
Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。
2、JFrame(窗口):
- 概述
JFrame,窗口。JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题、图标、操作按钮(关闭、最小化、最大化),还可以为窗口添加菜单栏、工具栏等。一个进程中可以创建多个窗口,并可在适当时候进行显示、隐藏 或 销毁。
- JFrame 常用构造方法:
/**
* 参数说明:
* title: 窗口标题
*/
JFrame()
JFrame(String title)
- JFrame 常用方法:
// 设置窗口的 标题
void setTitle(String title)
// 设置窗口的 图标
void setIconImage(Image image)
// 设置窗口的 宽高
void setSize(int width, int height)
void setSize(Dimension d)
/**
* 设置窗口关闭按钮点击后的默认操作, 参考值:
* WindowConstants.DO_NOTHING_ON_CLOSE: 不执行任何操作。
* WindowConstants.HIDE_ON_CLOSE: 隐藏窗口(不会结束进程), 再次调用 setVisible(true) 将再次显示。
* WindowConstants.DISPOSE_ON_CLOSE: 销毁窗口, 如果所有可显示的窗口都被 DISPOSE, 则可能会自动结束进程。
* WindowConstants.EXIT_ON_CLOSE: 退出进程。
*/
void setDefaultCloseOperation(int operation)
// 设置窗口是否可放大缩小
void setResizable(boolean resizable)
// 设置窗口的 位置(相对于屏幕左上角)
void setLocation(int x, int y)
void setLocation(Point p)
// 设置窗口的 位置 和 宽高
void setBounds(int x, int y, int width, int height)
void setBounds(Rectangle rect)
// 获取窗口的位置坐标(相对于屏幕坐标空间)
Point getLocationOnScreen()
// 获取窗口的位置坐标(相对于父级坐标空间, 窗口的父级一般就是屏幕)
Point getLocation()
/**
* 设置窗口的相对位置。
* 如果 comp 整个显示区域在屏幕内, 则将窗口放置到 comp 的中心;
* 如果 comp 显示区域有部分不在屏幕内, 则将该窗口放置在最接近 comp 中心的一侧;
* comp 为 null, 表示将窗口放置到屏幕中心。
*/
void setLocationRelativeTo(Component comp)
// 设置将窗口 置顶 显示
void setAlwaysOnTop(boolean alwaysOnTop)
// 设置窗口的内容面板
void setContentPane(Container contentPane)
// 设置窗口是否可见, 窗口对象刚创建和添加相应组件后通过 setVisible(true) 绘制窗口, 其内部组件可能要此时才有宽高值
void setVisible(boolean b)
// 判断窗口是否处于显示状态
boolean isShowing()
// 销毁窗口, 释放窗口及其所有子组件占用的资源, 之后再次调用 setVisible(true) 将会重构窗口
void dispose()
// 调整窗口的大小, 以适合其子组件的首选大小和布局。
void pack()
- 实现Frame的显示。
1、用java.awt.Color类来设置窗口的背景颜色。
2、用Dimension类来设置窗口的大小。
3、用Point类来设置窗口显示的位置。
第六节:JFrame类的常用操作方法
-
Dimension类
方法 | 类型 | 描述 |
---|---|---|
public Dimension() | 构造 | 创建一个Dimension实例 |
public void setSize(double width,double height) | 普通 | 设置显示的宽和高 |
public void setSize(int width,int height) | 普通 | 设置显示的宽和高 |
public double getWidth0 | 普通 | 返回组件的宽 |
public double getHeight0 | 普通 | 返回组件的高 |
-
Point类
方法 | 类型 | 描述 |
---|---|---|
public Point() | 构造 | 在坐标原点创建对象 |
public Point(int x,int y) | 构造 | 在指定的坐标点创建对象 |
public void setLoc ation(double x,double y) | 普通 | 设置X、Y坐标 |
public void setLoc ation(int x,int y) | 普通 | 设置X、Y坐标 |
public void move(int x,int y) | 普通 | 返回组件将此组件移动到指定坐标位置,此方法与setLocation(int,int)相同 |
public void translate(int dx,int dy) | 普通 | 平移(z, y)位置的点,沿x轴平移dx,沿y轴平移dy,移动后得到点(x+ dx,y+ dy) |