当前位置: 移动技术网 > IT编程>开发语言>Java > java基础之标签、按钮和按钮事件简介

java基础之标签、按钮和按钮事件简介

2019年07月22日  | 移动技术网IT编程  | 我要评论
标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关。 标签 标签(jlabel)是最简单的swing组件。标签对象的作用是对位于其后的界面组件作说

标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关。

标签

标签(jlabel)是最简单的swing组件。标签对象的作用是对位于其后的界面组件作说明。可以设置标签的属性,即前景色,背景色、字体等,但不能动态地编辑标签中的文本。

程序关于标签的基本内容有以下几个方面:
1.声明一个标签名;
2.创建一个标签对象;
3.将标签对象加入到某个容器。

jlabel类的主要构造方法是:
1.jlabel ():构造一个无显示文字的标签;
2.jlabel (string s):构造一个显示文字为s的标签;
3.jlabel(string s, int align):构造一个显示文字为s的标签。align为显示文字的水平方式,对齐方式有三种: •左对齐:

jlabel.left

•中心对齐:jlabel.center
•右对齐:jlabel.right

jlabel类的其他常用方法是:
1.settext(string s):设置标签显示文字;
2.gettext():获取标签显示文字;
3.setbackground(color c):设置标签的背景颜色,默认背景颜色是容器的背景颜色;
4.setforeground(color c):设置标签上的文字的颜色,默认颜色是黑色。

按钮

按钮(jbutton)在界面设计中用于激发动作事件。按钮可显示文本,当按钮被激活时,能激发动作事件。

jbutton常用构造方法有:
1.jbutton():创建一个没有标题的按钮对象;
2.jbutton(string s):创建一个标题为s的按钮对象。

jbutton类的其他常用方法有:
1.setlabel(string s):设置按钮的标题文字。
2.getlabel():获取按钮的标题文字。
3.setmnemonic(char mnemonic):设置热键
4.settooltiptext(string s):设置提示文字。
5.setenabled(boolean b):设置是否响应事件
6.setrolloverenabled(boolean b):设置是否可滚动。
7.addactionlistener(actionlistener al):向按钮添加动作监视器。
8.removeactionlistener(actionlistener al):移动按钮的监视器。

按钮处理动作事件的基本内容有以下几个方面:

1.与按钮动作事件相关的接口是actionlistener,给出实现该接口的类的定义;
2.声明一个按钮名;
3.创建一个按钮对象;
4.将按钮对象加入到某个容器;
5.为需要控制的按钮对象注册监视器,对在这个按钮上产生的事件实施监听。如果是按钮对象所在的类实现监视接口,注册监视器的代码形式是

复制代码 代码如下:

addactionlistener(this);

参见【例 11-3】,如果是别的类a的对象a作为监视器,类a必须实现actionlistener接口,完成监视器注册需用以下形式的两行代码:

复制代码 代码如下:

a a = new a();  //创建类a的实例a
addactionlistener(a);  //用对象a作为监视器对事件进行监视。

6.在实现接口actionlistener的类中,给出处理事件的方法的定义:

复制代码 代码如下:

public void actionperformed(actionevent e);

在处理事件的方法中,用获取事件源信息的方法获得事件源信息,并判断和完成相应处理。获得事件源的方法有:方法 getsource()获得事件源对象;方法getactioncommand()获得事件源按钮的文字信息。

【例 11-3】处理按钮事件实例,应用程序定义了一个窗口,窗口内设置两个按钮,当点击red按钮时,窗口的背景色置成红色;点击green按钮时,窗口的背景色置成绿色。

 import javax.swing.*;import java.awt.*;import java.awt.event.*;
 public class j503{
   public static void main(string[]args){
     buttondemo mybuttongui=new buttondemo();//声明并创建按钮对象
     mybuttongui.setvisible(true);
   }
 }
 class buttondemo extends jframe implements actionlistener{
   public static final int width=250;
   public static final int height=200;
   buttondemo(){
     setsize(width,height); settitle("按钮事件样例");
     container conpane=getcontentpane();
     conpane.setbackground(color.blue);
     conpane.setlayout(new flowlayout());//采用flowlayout布局
     jbutton redbut=new jbutton("red");
     redbut.addactionlistener(this);//给red按钮注册监视器
     conpane.add(redbut);//在窗口添加red按钮
     jbutton greenbut=new jbutton("green");
     greenbut.addactionlistener(this);//给green按钮注册监视器
     conpane.add(greenbut);//在窗口添加green按钮
   }
   public void actionperformed(actionevent e){//实现接口处理事件的方法
     container conpane=getcontentpane();
     if(e.getactioncommand().equals("red"))//是red按钮事件
       conpane.setbackground(color.red);
     else if(e.getactioncommand().equals("green"))//是green按钮事件
       conpane.setbackground(color.green);
     else{}
   }
 }

用鼠标点击按钮产生事件对象,将事件送达对象,这个过程称为激发事件。当一个事件被送到监视器对象时,监视器对象实现的接口方法被调用,调用时系统会提供事件对象的参数。程序中虽然没有调用监视器方法的的代码,但是程序做了两件事:第一,指定哪一个对象是监视器,它将响应由按钮的激发的事件,这个步骤称为监视器注册。第二,必须定义一个方法,当事件送到监视器时,这个方法将被调用。程序中没有调用这个方法的代码,这个调用是系统执行的。

在上面的程序中,代码
    redbut.addactionlistener(this);
注册this作为redbut按钮的监视器,随后的代码也注册this作为greenbut按钮的监视器。在上述的程序中,this就是当前的buttondemo对象mybuttongui。这样,buttondemo类就是监视器对象的类,对象mybuttongui作为两个按钮的监视器。在类buttondemo中有监视器方法的实现。当一个按钮被点击时,系统以事件的激发者为参数,自动调用方法actionperformed ()。

组件不同,激发的事件种类也不同,监视器类的种类也不同。按钮激发的事件称为action事件,相应的监视器称为action监视器。一个action监视器对象的类型为actionlistener,类要实现actionlistener接口。程序体现这些内容需要做到两点:

1.在类定义的首行接上代码implements actionlistener;
2.类内定义方法actionperformed ()。

前面程序中的类buttondemo正确地做到了这两点。

每个界面元素当激发事件时,都有一个字符串与这个事件相对应,这个字符串称为action命令。用代码 e.getactioncommand()就能获取action事件参数e的命令字符串,据此,方法actionperformed()就能知道是哪一个按钮激发的事件。在默认情况下,按钮的命令字符串就是按钮上的文字。如有必要可以用方法 setactioncommand()为界面组件设置命令字符串。

以上所述就是本文的全部内容了,希望大家能够喜欢。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网