【拖了好久了:cry:???? 拖延症要死要死要死啦】
?
?
class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">1.swing
(1)Java的图形界面
a.???awt
jdk1.4之前
b.??swing
jdk1.4的时候
?
(2)常用的组件
容器组件javax.swing
JFrame窗体容器组件顶级容器
?
元素组件javax.swing
JLabel?标签元素组件可放入文字,图片
JTextField文本输入框元素组件接收输入文本,直接显示
JButton按钮元素组件可放入文字,图片,提供点击
?
※在Swing下所有以J开头的类都是组件类
??????在awt下所有的组件和Swing中的类名类似,只是少一个J开头
?
布局组件awt???java.awt
FlowLayout流式布局组件排版类似于word文档
在java.awt和javax.swing包下所有以Layout结尾类都是布局组件。
?
(3)简单登录界面实现
a.定义Login类,让Login类继承自JFrame
b.定义主函数和初始化界面的方法
c.在主函数中,创建Login类的对象,调用自定义的初始化界面的方法
d.在初始化界面的方法中设置窗体的属性值(标题,大小,位置,关闭,布局方式,禁止调整大小,可见)
f.创建组件组件对象,将组件对象添加到窗体上。
?
2.接口
(1)接口的定义
定义接口的关键字:interface
定义接口的格式:
public?interface?接口名?extends?接口,...?{
//常量??(注意:接口会默认提供static,final关键字[可省略],public是接口默认的访问修饰符[即接口只有public的访问修饰符],常量名要全部大写)
?
数据类型?常量名?=?值;
?
//抽象方法
public?abstract?返回值类型?方法名(数据类型?参数名,...);
public?返回值类型?方法名(数据类型?参数名,...);
abstract?返回值类型?方法名(数据类型?参数名,...);
返回值类型?方法名(数据类型?参数名,...);
}
?
命名规则:
a.类名:首字母大写,如果是由多个单词组成,每个单词的首字母都必须要大写。
b.方法名,属性名,变量,参数名:首字母小写,如果是由两个或者两个以上单词组成,则从第二个单词开始完后每一个单词的首字母都要写。
c.常量名:所有字母全部大写。
?
(2)接口的实现(类继承接口)
实现接口的关键字:implements
格式:
public?class?类名?implements?接口,...?{
?
//类实现接口后,必须要实现接口中所有的抽象方法
?
}
?
接口的作用:丰富类的继承关系。
?
(3)接口注意事项
a.定义的关键字,还可以继承多个接口
b.接口中只能定义常量和抽象方法
c.接口不能创建对象。
d.接口被类继承后,类必须要重写接口中所有的抽象方法。
f.接口只有一种访问修饰符就是public?
?
3.事件机制
(1)事件源
有哪些可以成为事件源对象?
只有容器组件和元素组件才可以成为事件源对象。
如何确定哪一个组件是事件源呢?
你发生的动作要响应在哪一个组件上,那么该组件就是事件源对象。
?
(2)监听器方法
addActionListener(ActionListener?l);在类似按钮组件上发生点击操作或者输入框中回车操作时使用
addMouseListener(MouseListener?l);在事件源上发生鼠标进入,离开,按下,释放,单击操作时使用
addKeyListener(KeyListener?l);在事件源上发生按下按键,释放按键操作,敲击操作时使用
?
?
(3)事件接口(事件处理类)
(常用的事件接口都位于java.awt.event包下[javax.swing.event包下也有事件接口])
下列都是接口:
ActionListener
MouseListener
KeyListener
?
需要定义类实现事件接口