疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

图形界面绘制与事件机制


 

   

  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

  需要定义类实现事件接口