Java图形化界面学习
Posted _DiMinisH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java图形化界面学习相关的知识,希望对你有一定的参考价值。
Java图形化界面学习
javax.swing是Java图形界面开发的库
类 | 功能 |
---|---|
JFrame | 窗体 |
JPanel | 面板 (容器) |
JButton | 按钮 |
JLabel | 标签 |
JTextField | 文本域 |
JCheckBox | 复选框 |
JComboBox | 下拉列表 |
1. 创建一个简单的窗口
import javax.swing.*;
public class Swing
public static void main(String[] args)
// 创建一个窗口, 构造方法的参数是窗口标题
JFrame frame = new JFrame("My Swing");
// 设置窗口标题
frame.setTitle("NEW Title");
// 当窗口关闭时, 设置为退出这个程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口大小
frame.setSize(400, 300);
// 显示窗口
frame.setVisible(true);
2. JFrame 类
(1). 常用构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JFrame() | throws HeadlessException | 创建一个最初看不见的窗体 |
public | - | JFrame(String title) | throws HeadlessException | 创建一个指定标题的、最初看不见的窗体 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | void | setDefaultCloseOperation(int operation) | - | 设置当用户在此窗体上点击“关闭”按钮时将默认发生的操作 |
值(定义在 WindowConstants 类的静态属性)可以为以下四个:
DO_NOTHING_ON_CLOSE : 什么都不做, 即窗口无法关闭
HIDE_ON_CLOSE : 仅关闭窗口
DISPOSE_ON_CLOSE : 隐藏当前窗口,并释放窗体占有的其他资源
EXIT_ON_CLOSE : 关闭窗口并退出程序
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 | 备注 |
---|---|---|---|---|---|
public | void | setSize(int width, int height) | - | 设置窗体大小 | width是宽, height是高 |
public | void | setVisible(boolean b) | - | 设置窗体是否是可以看到的 | true是可以看到, false是看不到 |
3. JPanel 类
JPanel 是面板容器类, 可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout, 其自身可以嵌套组合,在不同子容器中可包含其他组件。
(1). 构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JPanel() | - | 创建具有双缓冲区和流式布局(FlowLayout)的新面板 |
public | - | JPanel(boolean isDoubleBuffered) | - | 创建具有指定缓冲策略和流式布局(FlowLayout)的新面板 |
public | - | JPanel(LayoutManager layout) | - | 创建具有指定布局管理器的新缓冲面板 |
public | - | JPanel(LayoutManager layout, boolean isDoubleBuffered) | - | 创建具有指定布局管理器和缓冲策略的新面板 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | Component | add(Component comp) | - | 向面板中添加一个组件 |
4. JButton类
按钮控件类
(1). 常用构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JButton() | - | 创建一个没有名称的按钮 |
public | - | JButton(String text) | - | 创建一个指定名称的按钮 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | void | setText(String text) | - | 修改按钮的名称 |
public | void | addActionListener(ActionListener l) | - | 给按钮增加监听器(点击按钮所触发的事件) |
5. JLabel类
标签控件类
(1). 常用构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JLabel() | - | 创建一个没有内容的标签 |
public | - | JLabel(String text) | - | 创建一个指定内容的标签 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 | 备注 |
---|---|---|---|---|---|
public | void | setText(String text) | - | 修改标签的内容 | - |
public | String | getText() | - | 获取标签的内容 | - |
public | void | setFont(Font font) | - | 设置标签字体的样式 | new Font(String name, int style, int size) |
style : Font.BOLD 粗体, Font.PLAIN 普通, Font.ITALIC 斜体
size: 字体大小
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 | 备注 |
---|---|---|---|---|---|
public | void | setForeground(Color fg) | - | 修改标签的字体颜色 | new Color(int r, int g, int b)三原色 |
public | void | setBackground(Color bg) | - | 修改标签的背景颜色 | new Color(int r, int g, int b)三原色 |
public | void | setOpaque(boolean isOpaque) | - | 设置标签背景不透明 | true是不透明, false是透明 |
public | void | setPreferredSize(Dimension preferredSize) | - | 设置标签大小 | Dimension(int width, int height) |
public | void | setHorizontalAlignment(int alignment) | - | 设置内容在标签中的水平 对齐方式 | - |
值(定义在 SwingConstants 类的静态属性)可以为以下的:
CENTER : 居中
LEFT : 左对齐
RIGHT : 右对齐
6. JTextField类
文本域控件类
(1). 常用构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JTextField() | - | 创建一个长度为0, 且没有初始内容的文本域 |
public | - | JTextField(String text) | - | 创建一个指定内容的文本域, 宽度能刚好显示指定的内容 |
public | - | JTextField(int columns) | - | 创建一个指定宽度, 且没有初始内容的文本域 |
public | - | JTextField(int columns) | - | 创建一个指定宽度, 且指定内容的文本域 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | void | setText(String text) | - | 修改文本域的内容 |
public | String | getText() | - | 获取文本域的内容 |
public | void | setColumns(int columns) | - | 修改文本域的宽度 |
7. JCheckBox类
复选框控件类
(1). 常用构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JCheckBox() | - | 创建没有内容的, 且未被勾选的复选框 |
public | - | JCheckBox (String text) | - | 创建指定内容的, 且未被勾选的复选框 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 | 备注 |
---|---|---|---|---|---|
public | void | setText(String text) | - | 修改复选框的内容 | - |
public | String | getText() | - | 获取复选框的内容 | - |
public | void | setSelected(boolean b) | - | 设置复选框选中状态 | ture是选中复选框, false是未选中复选框 |
public | void | addActionListener(ActionListener l) | - | 给复选框增加监听器 | 勾选或取消勾选所触发的事件 |
8. JComboBox类
下拉列表框控件
(1). 常用构造方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 |
---|---|---|---|---|
public | - | JComboBox() | - | 创建一个带有默认数据模型的下拉列表 |
public | - | JComboBox(E[] items) | - | 创建一个带有指定数组中元素的下拉列表 |
(2). 常用成员方法
访问限定符 | 返回值 | 方法名字 | 抛出的异常 | 说明 | 备注 |
---|---|---|---|---|---|
public | void | addItem(E item) | - | 向下拉列表中添加一个数据项 | - |
public | E | getItemAt(int index) | - | 获取下拉列表中指定位置的数据项 | E是指定的类型 |
public | int | getItemCount() | - | 获取数据项的个数 | - |
public | int | getSelectedIndex() | - | 获取下拉列表中当前选中的数据项的下标 | - |
public | Object | getSelectedItem() | - | 获取下拉列表中当前选中的数据项 | - |
public | void | addActionListener(ActionListener l) | - | 给下拉列表增加监听器 | 选中所触发的事件 |
9. 布局管理器
LayoutManager类
(1). 流式布局
FlowLayout类
当一行显示不下的时候, 自动显示在下一行, 窗体默认的布局
(2). 边界布局
BorderLayout
使用JPanel的add()方法可以指定位置, 以JLabel为例子
中间: add(label, BorderLayout.CENTER);
上面: add(label, BorderLayout.NORTH);
下面: add(label, BorderLayout.SOUTH);
左边: add(label, BorderLayout.EAST);
右面: add(label, BorderLayout.WEST);
通过setPreferredSize()可以设置居上的高度, 居下的高度, 居左的宽度, 居右的宽度
(3). 手工布局
先取消默认的布局器
JPanel的setLayout(null)方法, 参数传入null
使用对应控件的setBounds(Rectangle r)方法实现
参数构造方法
Rectangle(int x, int y, int width, int height)
x,y 表示控件左上角坐标的位置, width是宽度, height是高度
以上是关于Java图形化界面学习的主要内容,如果未能解决你的问题,请参考以下文章