------- android培训、java培训、期待与您交流! ----------
GUI(Graphical User Interface)图形用户接口。用图形的方式,来显示计算机操作的界面,这样更方便更直观。
CLI(Commandline User Interface )命令行用户接口。DOS命令行操作,需要记忆常用命令操作,不直观。
Java为GUI提供的对象都在java.awt和javax.swing这两个包中。
java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件
javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件
布局管理器
组件在容器中的位置和大小是由布局管理器来决定的,所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理
java提供了五种布局管理器:
1.流式布局管理器(FlowLayout)
Panel默认的布局管理器
2.边界布局管理器(BorderLayout)
JFrame和JDialog默认的布局管理器
3.网格布局管理器(GridLayout)
规则的矩阵(典型应用计算器)
4.卡片布局管理器(CardLayout)
继承JFrame
定义需要的组件
创建组件
设置布局管理器
添加组件
显示窗体
常用组件
JPanel:面板组件,非顶层容器,一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel组件,JPanel上可以使用FlowLayout、GridLayout、BorderLayout等各种布局管理器,使效果更复杂
可以在JFrame上加JButton也可以在,JPanel上加JButton,在JFrame上 加JPanel
文本框(JTextField)、密码框(JPasswordField)、标签(JLable)
复选框组件(JCheckBox)、单选框组件(JRadioButton),同一组单选按钮必须先创建ButtonGroup,然后把单选框放入到ButtonGroup中,对于单选框一定要把jrb1,jrb2加入到一个ButtonGroup中
下拉框组件JComboBox,先定义数组再将数组的名字作为参数加入
列表框组件JList(默认直接全部展现出来)
滚动窗格组件JScrollPanel
setDefaultCloseOperation(EXIT_ON_CLOSE)窗口关闭及最大最小化
时间监听机制及组成
java事件处理是采取“委派事件模型”,就是指产生事件的对象(事件源)会把此信息传递给事件的监听者处理的一种方式,而这里所说的信息实际上是java.awt.event 事件类库里某个类所创建的对象,我们暂时把它称为“事件的对象”
组成:事件源(组件)、事件(Event)、监听器(Listener)、事件处理
一个类实现监听的步骤:
a.实现相应的接口(Keytener/MouseListener/ActionListener/WindowListener)
b.把接口的处理方法根据需要重新编写
c. 注册监听
d.设置监听的command,setActionCommand(),getActionCommand()
Java.awt.event包和javax.swing.event包定义了各种事件类型,常见的事件类型有:
ActionEvent:按下按钮或者双击一个列表或选中某个菜单
AdjustmentEvent:操作一个滚动条时
ComponentEvent:当一个组件隐藏,移动,改变大小时候
ContainerEvent:当一个组件从容器中加入或者删除
FocusEvent:当一个组件获得或是失去焦点时候
ItemEvent:当一个复选框或者是列表被选中,当一个选择框或者选择菜单被选中
KeyEvent:当从键盘的按键被按下,松开时发生
MouseEvent:当鼠标被拖动、移动、点击、按下
TextEvent:当文本框和文本域的文本发生改变时
WindowEvent:当一个窗口激活、关闭、失效、恢复、最小化
事件监听机制流程图
事件处理机制流程:
事件触发后会把事件打包成对象传递给该变量。(其中包括事件源对象。通过getSource()或者,getComponent()获取
菜单
记事本界面:
涉及到菜单的组件
菜单组件
JMenuBar 菜单条组件树干
JMenu 菜单组件 树枝
JMenuItem菜单项组件树叶
二级菜单制作
JMenu里面可以嵌套JMenu
工具条组件
JToolBar 容器类组件