十.图形界面(gui)设计3.标签按钮和按钮事件

Java程序小助手 Java程序小助手     2022-09-05     713

关键词:

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

标签

标签(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按钮时,窗口的背景色置成绿色(查看源代码)。

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

在上面的程序中,代码
    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 www.qicaiyulept.cn ()就能获取action事件参数e的命令字符串,据此,方法actionPerformed()就能知道是哪一个按钮激发的事件。在默认情况下,按钮的命令字符串就是按钮上的文字。如有必要可以用方法 setActionCommand()为界面组件设置命令字符串。

十.图形界面(gui)设计1.图形界面设计基础

...输入数据,程序将信息输出在屏幕上。现代程序要求使用图形用户界面(GraphicalUserInterface,GUI),界面中有菜单、按钮等,用户通过鼠标选择菜单中的选项和点击按钮,命令程序功能模块。本章学习如何用Java语言编写GUI科学试验,... 查看详情

十.图形界面(gui)设计14.键盘事件

键盘事件的事件源一般丐组件相关,当一个组件处于激活状态时,按下、释放或敲击键盘上的某个键时就会发生键盘事件。键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器)。实现KeyListener接口有3个:... 查看详情

十.图形界面(gui)设计2.框架窗口

窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用。有以下三种窗口:Applet窗口:Applet类管理这个窗口,当应用程序程序启动... 查看详情

十.图形界面(gui)设计13.鼠标事件

鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标、拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。MouseListener接口MouseListener接口能... 查看详情

十java_gui

...AWT二、组件和容器三、布局管理器四、事件处理五、java图形六、window事件 一、AWTAWT(AbstractWindowToolkit)包括了很多类和接口,用于JavaApplication的GUI(GraphicsUserInterface提醒用户界面)编程GUI的各种元素(如:窗口,按钮,文本框... 查看详情

图形界面设计(代码片段)

第8章图形界面设计1AWT和Swing图形用户界面简称GUI设计图形用户界面时一般有3个步骤,分别是选取组件,设计布局和响应事件。Java抽象窗口工具集称为AWT,后来的JDK版本提供的Swing功能更强awt在java.awt包中,swing在javax.swing包中Swin... 查看详情

gui(图形用户界面)

AWT概述  GUI全称是GraphicalUserInterface,即图形用户界面,即应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其它各种图形界面元素  GUI设计提供了丰富的类库,这些类分别位于java.awt和javax.swing包中,... 查看详情

十.图形界面(gui)设计4.面板

面板有两种,一种是普通面板(JPanel),另一种是滚动面板(JScrollPane)。JPanel面板是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘画,将放有组件和有画的JPanel再放入另一个容器里。JPa... 查看详情

冯志霞201771010107《面向对象程序设计(java)》第十三周学习

 实验十三 图形界面事件处理技术实验时间2018-11-221、实验目的与要求(1)掌握事件处理的基本原理,理解其用途;(2)掌握AWT事件模型的工作机制;(3)掌握事件处理的基本编程模型;(4)了解GUI界面组件观感设置方法;(5)掌握W... 查看详情

十.图形界面(gui)设计5.布局设计

在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计。java.awt中定义了多种布局类,每种布局类对应一种布局的策略。常用的有以下布局类:FlowLayout,依次放置组件。BoarderLayout,将组... 查看详情

2016710101182016-2017-2《java程序设计》第十三周学习心得

...sp;   第十三周课程学习已经结束,我们学习了图形用户界面GUI(GraphicalUserInterfaces),为用户提供交互式的图形化操作界面,Java有专门的类库:生成各种标准图形界面元素和处理图形界面的各种事件。用来生成图形用户界... 查看详情

如何设计一个复杂的图形用户界面,同时使用构建器设计模式和抽象设计模式?

】如何设计一个复杂的图形用户界面,同时使用构建器设计模式和抽象设计模式?【英文标题】:HowcanIdesignacomplexGUIemployingbothbuilderdesignpatternandabstractdesignpattern?【发布时间】:2021-11-2323:13:28【问题描述】:我正在尝试创建一个... 查看详情

201771010121唐月晨实验十三图形界面事件处理技术(代码片段)

 实验十三 图形界面事件处理技术                                实验时间2018-11-22   1、实验目的与要求 (1)掌握事件处理的基本原理,理解其用途;(2)掌握AWT事... 查看详情

201771010142张燕/杨蓉庆实验十三图形界面事件处理技术(代码片段)

实验十三  图形界面事件处理技术实验时间 2018-11-22 基础知识: ?事件源(eventsource):能够产生事件的对象都可以成为事件源,如文本框、按钮等。一个事件源是一个能够注册监听器并向监听器发送事件对象... 查看详情

王颖奇20171010129《面向对象程序设计(java)》第十三周学习总结(代码片段)

 实验十三 图形界面事件处理技术实验时间2018-11-221、实验目的与要求(1)掌握事件处理的基本原理,理解其用途;(2)掌握AWT事件模型的工作机制;(3) 掌握事件处理的基本编程模型;(4)了解GUI界面组件观感设置方法;(5)... 查看详情

怎么用matlab实现计算器功能

根据自己的结构设想,利用GUIDE命令,驱动GUI图形编辑器,制作图形用户界面。大致操作过程:1、新建一个GUI界面2、添加组件,如静态文本框,编辑框,按钮等,界面设计后保存其Fig文件,扩展名为.fig,M文件的扩展名为.m。3、... 查看详情

设计一个程序,在文本框中输入一个3位整数,单击按钮后,在标签上输出该数的百位数、十位数和个位数

vb6测试通过。文本框名称为txtNum,显示信息的标签名称为lbl,按钮的名称为btn。按钮的click事件代码如下:Private Sub btn_Click()Dim num As IntegerIf IsNumeric(txtNum.Text) = True Then    num =&nb... 查看详情

matlab使用gui设计简单的计算器(代码片段)

...反思1.准备工作本文使用的版本是Matlab2018b。了解GUI:图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。该GUI实现了计算器的一些基本功能,如... 查看详情