Swing
容器类Container
允许其他组件放置在其中,容器本身也是一个组件,容器主要功能是容纳其他
组件和容器
容器Container是Conponent的子类,一个容器可以容纳多个组件,指他们成为
一个整体。所有的容器通过add()方法向容器中添加组件。
Container三种常用类型:窗口(Window)、面板(Panel)、applet
组件必须放到容器中才能显示出来
JFrame 对话框容器组件,也是一个框架窗体,在这上面添加组件
但是所有的东西要放到内容面板中(JPanel)不能直接放在JFrame中
也是容器也是组件
JDialog对话框对象容器,用来向用户返回信息,接受输入信息
JPanel面板类
将每个组件精确地放在位置上就需要JPanel面板类,可以有多个面板,
面板有多个布局方式来排列组件
也是容器也是组件
当组件对象调用setEnable(boolean b) ,为真时组件就会被调用,反之禁用 ,
isEnable()检查组件是否被启用
按钮组件可以捕捉到用户的点击,产生ActionEvent事件
JTextField 文本框组件
JPasswordField 密码框组件
JTextArea 文本区域组件
JLabel 标签组件
1. JTextField 文本框 用来接受用户单行文本输入
JPasswordField 密码框 以*显示出来
2. JTextArea 用来接受用户多行文本输入
3. JLabel 标签组件,用来显示图像或一行只读文本的组件,(不可编辑)提示
用户
JRadioButton单选按钮, 存在选中与未被选中两种状态,成组出现,
只能选一个(互斥)
ButtonGroup 单选按钮组
复选框JCheckBox 两种状态:选中和未选中,(带标签和不不带标签)选中
时则有一个复选标记,否则为空。
JComboBox下拉列表组件。
用来提供一列选项,用户可以在下拉表中提供选项中进行过单项选择
JSlider滑块
用户通过滑块来选择,某一个范围内的数值
JProgressBar 进度条
用于显示耗时较长的任务运行的进度
菜单JMenu
JMenuBar 用来放置菜单组件(JMenu组件)的容器,可以包含一个和多个
JMenu
工具栏JToolBar
用于提供常用命令的一个按钮栏
事件处理
事件监听器接口类,在java.awt.event包中
(1)。 ActionListener接口类:用于处理行为事件,就是用户对组建的操作,
例如处理用户单击时所触发的事件
(2)。 FocusListener接口类:用于处理焦点事件
例如,将当前事件的焦点转移回某个对话框时使用
(3). ItemListener接口类:用于处理选项事件
单击复选框或单选框,处理相应的事件使用
(4). KeyListener接口类 用于处理键盘事件
接收键盘输入
(5)MouseListener接口类:用于处理鼠标事件
布局管理器:
例如:把创建的组件放到对话框中,需要设置对话框的格式,就必须使用布局
管理器的类来排列界面上的组件
容器内的所有组件由布局管理器管理
包括:
FlowLayout 流式布局管理器
最简单的布局管路:从左到右排列,多则自动换行继续排列剩下的组件
GirdLayout 网格式布局管理器
行列
BorderLayout 边框布局管理器,
会将容器分为东西南北中五个部分
CardLayout 卡片式布局
可以容纳多个组件,同时隐藏其中一部分组件,就像一副扑克牌
每次只能显示最上面的一张
GridBagLayout
创建好后就可以调用容器的setLayout()方法来设定该电影的布局管理器
面板的默认布局管理器是FlowLayout
对话框及框架的默认布局管理器是BorderLayout