java 第11章_编写图形用户界面程序

合集下载

Java图形用户界面Swing编程

Java图形用户界面Swing编程

Java图形用户界面Swing编程Java图形用户界面(GUI)Swing编程Java的Swing是一种强大的GUI编程工具,可以帮助开发者创建直观且具有交互性的用户界面。

本文将介绍Swing的基本概念、使用方法以及一些常见的Swing组件。

一、Swing的概述Swing是Java提供的一套图形用户界面工具包,它基于Java的AWT(Abstract Windows Toolkit)而开发,提供了更多功能丰富和更美观的GUI组件。

Swing可以运行在多个平台上,并且具备跨平台性,这也是Swing广泛应用的原因之一。

二、Swing的使用方法1. 导入Swing库在编写程序时,需要导入Swing库。

可以使用如下代码导入Swing 库:```import javax.swing.*;```2. 创建Swing窗口使用Swing创建窗口的步骤包括创建顶层容器、设置布局管理器、创建组件和添加组件等。

下面是一个简单的例子,展示了如何创建一个Swing窗口:```public class MyWindow extends JFrame {public static void main(String[] args) {MyWindow window = new MyWindow();window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);window.setSize(300, 200);window.setVisible(true);}}```三、常见的Swing组件1. JLabel组件JLabel是Swing中常用的组件之一,用于显示文本或图像。

可以使用如下代码创建一个JLabel组件并将其添加到窗口中:```JLabel label = new JLabel("Hello, World!");window.add(label);```2. JTextField组件JTextField是一个文本输入框组件,用户可以在其中输入文本。

如何使用Java编写一个简单的形用户界面程序

如何使用Java编写一个简单的形用户界面程序

如何使用Java编写一个简单的形用户界面程序如何使用Java编写一个简单的图形用户界面程序Java是一种跨平台的编程语言,相比于其他编程语言,它具有良好的可移植性和强大的功能性。

在本文中,我们将探讨如何使用Java编写一个简单的图形用户界面(GUI)程序。

GUI程序是一种通过图形和图标来展示信息并接受用户输入的应用程序。

在Java中,我们可以使用Swing库来构建GUI程序。

下面是一个基本的步骤指导,帮助您编写一个简单的Java GUI程序。

步骤一:导入必要的库首先,您需要导入Swing库,以便您可以使用其中的类和方法来构建GUI界面。

您可以通过添加以下代码导入Swing库:```import javax.swing.*;```步骤二:创建界面主体接下来,您需要创建GUI界面的主体。

通常,一个GUI程序由一个顶级容器(如JFrame)和其中包含的其他组件组成。

以下是一个简单的示例代码,展示如何创建一个JFrame对象:```JFrame frame = new JFrame("简单GUI程序");```步骤三:设置界面大小和关闭操作在创建主体后,您需要设置界面的大小和默认的关闭操作行为。

以下代码演示如何设置界面的大小并定义当用户关闭界面时的操作:```frame.setSize(300, 200); // 设置界面的宽度和高度frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置默认关闭操作为退出程序```步骤四:向界面添加组件在创建和设置主体后,您可以向界面中添加各种组件,如按钮、标签、文本框等。

以按钮为例,以下代码演示如何创建一个按钮并将其添加到界面中:```JButton button = new JButton("点击我");frame.getContentPane().add(button); // 将按钮添加到界面的内容面板中```步骤五:显示界面完成了界面的创建和组件的添加后,最后一步是显示界面。

Java图形用户界面设计

Java图形用户界面设计

13
(3) 事件监听器(Listener) 事件处理机制中的核心部分,主要的功能大致可以分为 两部分:第一,监听组件,观察组件有没有发生某类事 件;第二,如果监听的组件发生了某类事件,则调用对 应的动作处理方法立刻处理这个事件。 在Java事件处理机制中,监听器处于主体地位。与事件 分类对应,监听器也相应的分成若干种类型,例如,鼠 标事件对应鼠标监听器,键盘事件对应键盘监听器,窗 口事件对应窗口监听器等。
25
5.3.2 AWT组件库常用组件举例 【问题1】 在窗口f中,有一个文本框tf,三个按钮btn_1、 btn_2、btn_3。当使用鼠标点击btn_1时,文本框显示 btn_1按钮被点击,当使用鼠标点击btn_2按钮时,文本框 显示btn_2按钮被点击,当使用鼠标点击btn_3按钮或者窗 口f的关闭按钮时,窗口关闭,程序退出。
(4) Choice Choice表示下拉选择框组件,选择框中的每一个选项称 为一个Item,Item的类型一般为String字符串。 (5) Label Label表示标签组件,主要作用在于创建提示性的文本。
23
(6) MenuBar、Menu和MenuItem MenuBar表示菜单条组件,该组件由Menu菜单构成,而 Menu菜单又可由Menu菜单和MenuItem菜单项构成。 (7) TextField TextField表示文本框组件,与文本域组件不同的是, 文本框中只能有一行文本。 (8) TextArea TextArea表示文本域组件,可以容纳多行文本。
30
(3) JRadioButton和ButtonGroup 在Swing中与Checkbox对应的是JCheckBox,实际使用时, 如果需要创建单选框组的话,经常使用的是 JRadioButton而非JCheckBox。如果将多个JRadioButton 组件放在一个ButtonGroup中时,这些JRadioButton组件 将不再具有复选功能,而是只具有单选功能,也即变成 单选框。 (4) JComboBox JcomboBox对应于AWT中的Choice,表示下拉选择框组件, 选择框中的每一个选项称为一个Item,Item的类型一般 为String字符串,也可以是指定的泛型类型。

《Java语言程序设计-基础篇》答案-第11章概要

《Java语言程序设计-基础篇》答案-第11章概要
component.setForeground(color;
component.getForeground(color;
对图形环境的方法通过Graphics对象的相关set/get方法完成。
11.12答:略
11.13答:例如:JPanel panel = new JPanel(new FlowLayout(;
11.14答:默认为FlowLayout。使用add(component方法
11.15答:不可以。
目的有:嵌套容器、绘图板。





w
w w
.k
h d
a w .
c o
m
11.16答:x不变,y增加
11.17答:略
11.18答:略
11.19答:略





w
w w
.k
h d
a w .
c o
m
boideilayoutfianieaddcomponent111118种常用构造方法使用容器的addcomponent方法无限制119种常用构造方法使用容器的addcomponent方法无限制1110答构造方法有参无参addcomponent
第11章图形用户界面程序设计入门
复习题
11.1答:ponent是
frame.add(button;
如果将2句互换位置,没有影响。(JDK6测试
11.4答:对、错、对、错(受布局管理器影响、对
11.5答:第7行应该改为:
javax.swing.JFrame frame = new Test(;
11.6答:第2行:将void去掉,因为构造方法不能有返回类型。

等级考试二级JAVA考点分析之编写图形用户界面

等级考试二级JAVA考点分析之编写图形用户界面

9.1⽤AWT编写图形⽤户界⾯考点1:编写图形⽤户界⾯ (1)编写图形⽤户界⾯要⽀持跨平台。

(2)Java图形界⾯开发包的发展经历了两个阶段:AWT和Swing。

(3)Java采⽤构件思想开发图形⽤户界⾯。

(4)编写图形⽤户界⾯的基本步骤:⾸先确定界⾯中的构件如何放置,然后使构件响应⽤户的操作,最后掌握各种构件的外观及能响应的⽤户操作。

考点:2java.awt包简介 (1)java.awt包可⽤于编写Java Application和Applet的图形⽤户界⾯。

(2)java.awt包提供的图形⽤户界⾯的功能有:⽤户界⾯构件、事件处理模型、图形和图像⼯具、布局管理器和数据传送。

(3 ) java.awt包含有3个主要的类:构件、容器和布局管理器。

(4) Java.awt包中的类和接⼝主要有AWTEvent, Font, Component, Graphics , MenuComponent,以及各种布局管理器。

考点:3构件(Component) 作为Java图形⽤户界⾯的最基本组成部分,构件是⼀个可以在屏幕上与⽤户交互的以图形⽅式出现的可视化对象。

(1) java.awt.Component类提供了构件类的定义。

(2)构件不能独⽴于容器显⽰出来。

(3)编写⼀般的⽤户界⾯程序使⽤的构件都是Component的⼦类。

(4) Component类的⽅法有:getFont()、getName()、getSize()、paint(Graphics g)、repaint)和update()等。

考点:4容器(Container) Container是Component的⼦类,具有构件的所有性质,并且能够放置基他容器和构件· (1)java.awt.Container类提供了容器类的定义。

(2)⼀个容器能够容纳若⼲个构件。

(3)不同的构件通过调⽤add()⽅法将⾃⼰加⼊相应的容器中。

java_11GUI编程

java_11GUI编程

窗体Frame

public void dispose()
– //可以撤销当前窗口,释放窗口所使用的资源

Frame是Window的子类,凡是Window子类的对 象都引发WindowEvent事件。 当一个Frame窗口被激活、撤销激活、打开、关 闭、最小化或撤销最小化,就会引发窗口事件, 获得监视器的方法如下: public void addWindowListener(WindowListener)
BorderLayout(边框布局)

构造函数
BorderLayout();
//各组件纵、横间距为0 BorderLayout(int hgap, int vgap); //hgap横间距,vgap纵间距,象素为单位

add (组件,位置);

位置可取值:
BorderLayout.NORTH[WEST,CENTER,EAST,SOUTH]



容器(Container )
AWT中的容器
Window Frame(重点掌握) Dialog Panel Applet

Frame 窗体
介绍:Frame是一个带有边框、标题栏、菜单的图形 容器。 构造方法:
Frame() 创建一个空白框架 Frame(String s) 创建一个使用 s 做标题的框架。 Frame类常用的方法: public void setIconImage(Image image):设置窗体显示的图 标 public void setMenuBar(MenuBar menubar):加载窗体使 用的菜单对象 public void setLayout(LayoutManager manager):设置窗体 使用的布局管理器

如何编写一个基本的图形用户界面

如何编写一个基本的图形用户界面

如何编写一个基本的图形用户界面要编写一个基本的图形用户界面,首先需要选择一个合适的开发工具,常用的工具有JavaFX、Swing、Python Tkinter等。

在这里以JavaFX为例进行讲解。

第一步是创建一个JavaFX项目,可以使用IDE工具如IntelliJ IDEA、Eclipse等来创建项目。

在创建项目的过程中,需要选择JavaFX作为项目的模板。

第二步是创建一个主窗体,也就是用户界面的窗口。

可以使用JavaFX的Stage和Scene类来创建窗口,设置窗口的标题、大小和其他属性。

第三步是在窗口中添加控件,例如按钮、文本框、标签等。

可以使用JavaFX库中提供的控件类来添加控件,设置控件的位置、大小和样式。

第四步是定义控件的事件处理逻辑。

可以为按钮等控件添加事件处理器,响应用户的操作。

可以使用JavaFX的事件处理机制来实现控件的事件处理。

第五步是运行程序,测试图形用户界面的功能。

可以启动程序,查看界面的效果,测试各个控件的功能是否正常。

在编写图形用户界面的过程中,需要注意一些细节。

例如,要保持界面的清晰简洁,避免过多的控件和布局;要保持控件之间的逻辑关系清晰,设计合理的布局;要处理好用户输入,对用户的操作进行合理的响应。

此外,还可以使用JavaFX提供的CSS样式来美化界面,使界面更加美观。

可以为控件添加样式类,设置控件的样式属性,实现界面的定制化。

总的来说,编写一个基本的图形用户界面需要选择合适的开发工具,创建窗体、添加控件、定义事件处理逻辑、运行测试,并注意细节和界面美化。

通过不断的学习和实践,可以不断提升图形用户界面的设计和开发能力。

希望以上内容能对您有所帮助。

如何使用JAVA进行图形界面编程

如何使用JAVA进行图形界面编程

如何使用JAVA进行图形界面编程引言:在计算机科学领域中,图形用户界面(GUI)是一种用户与计算机交互的界面形式。

它通过图形元素如按钮、文本框、菜单等,提供了一种直观、友好的方式来操作计算机程序。

JAVA作为一种强大的编程语言,提供了丰富的库和工具来进行图形界面编程。

本文将介绍如何使用JAVA进行图形界面编程,包括界面设计、事件处理和布局管理。

一、界面设计1.1 使用Swing库JAVA的Swing库是一套用于创建图形用户界面的API。

它提供了各种组件和容器来构建界面。

首先,我们需要导入Swing库:```javaimport javax.swing.*;```1.2 创建主窗口在JAVA中,主窗口通常是一个JFrame对象。

我们可以使用如下代码创建一个简单的主窗口:```javaJFrame frame = new JFrame("My Application");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);```1.3 添加组件在主窗口中,我们可以添加各种组件来构建界面。

例如,我们可以添加一个按钮:```javaJButton button = new JButton("Click me");frame.getContentPane().add(button);```1.4 布局管理布局管理器用于控制组件在界面中的位置和大小。

JAVA提供了多种布局管理器,如FlowLayout、BorderLayout和GridLayout等。

我们可以根据需要选择合适的布局管理器。

例如,使用FlowLayout布局管理器:```javaframe.getContentPane().setLayout(new FlowLayout());```二、事件处理2.1 添加事件监听器事件监听器用于处理用户与界面交互时触发的事件。

如何用Java编写简单的图形界面

如何用Java编写简单的图形界面

如何用Java编写简单的图形界面Java是一种强大的编程语言,它提供了多种库和工具来开发图形界面。

在本文中,将介绍如何使用Java编写简单的图形界面。

1. Java的图形界面编程主要基于Java Swing库。

首先,要确保已经安装了Java Development Kit(JDK)。

2.在开始编写图形界面之前,需要了解几个基本概念。

Java的图形界面是由组件(Component)构成的,比如按钮、文本框、标签等。

这些组件可以放置在容器(Container)中,比如窗口(Window)、面板(Panel)等。

容器可以包含其他组件,并且可以嵌套在其他容器中,形成多层次的布局。

通过监听事件(Event)可以对用户的操作做出响应,比如按钮点击、鼠标移动等。

3.在Java中,可以使用Swing类库来创建图形界面。

Swing提供了一套完整的组件,用于创建各种图形界面应用程序。

4.首先,创建一个新的Java项目。

在项目中创建一个新的Java 类,用于编写图形界面的代码。

5.在Java类中,需要导入相应的Swing库以及其他必要的类。

导入语句一般写在文件的顶部。

```javaimport javax.swing.*;import java.awt.*;```6.创建一个继承自JFrame类的窗口对象,该对象将作为主窗口。

在构造函数中设置窗口的标题、大小和关闭操作等。

```javapublic class MyWindow extends JFrame {public MyWindow() {setTitle("我的窗口");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}```7.在主窗口中创建其他组件,比如按钮、文本框等。

可以使用对应的Swing类来创建这些组件。

```javapublic class MyWindow extends JFrame {public MyWindow() {setTitle("我的窗口");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton button = new JButton("点击我");JTextField textField = new JTextField("请输入内容");add(button);add(textField);}```8.设置窗口的布局管理器(Layout Manager)来控制组件的位置和大小。

java程序设计第二版课后答案

java程序设计第二版课后答案

java程序设计第二版课后答案Java程序设计第二版课后答案涵盖了多个章节,每个章节都包含了不同的编程概念和练习题。

以下是一些常见章节的课后答案概要,以供参考:第1章:Java简介- 1.1 Java的起源和特点- 1.2 Java平台的组成- 1.3 Java开发环境的搭建第2章:基本语法- 2.1 数据类型- 2.2 变量声明- 2.3 运算符- 2.4 控制语句(if, switch, loop)第3章:控制流程- 3.1 条件语句(if-else, switch-case)- 3.2 循环语句(for, while, do-while)- 3.3 跳转语句(break, continue, return)第4章:数据结构- 4.1 数组的定义和使用- 4.2 字符串的处理- 4.3 集合框架简介第5章:面向对象编程- 5.1 类和对象- 5.2 构造方法- 5.3 继承- 5.4 封装和多态第6章:异常处理- 6.1 异常的概念- 6.2 异常的分类- 6.3 异常的处理方式(try-catch-finally)第7章:输入输出- 7.1 标准输入输出- 7.2 文件输入输出- 7.3 序列化第8章:Java集合框架- 8.1 集合的基本概念- 8.2 List接口及其实现- 8.3 Set接口及其实现- 8.4 Map接口及其实现第9章:泛型- 9.1 泛型的概念- 9.2 泛型的使用- 9.3 泛型的限制第10章:多线程- 10.1 线程的概念- 10.2 创建和启动线程- 10.3 线程的同步第11章:网络编程- 11.1 网络编程基础- 11.2 Socket编程- 11.3 URL和URLConnection第12章:图形用户界面- 12.1 AWT和Swing- 12.2 事件处理- 12.3 布局管理器第13章:Java数据库连接- 13.1 JDBC基础- 13.2 数据库连接和操作- 13.3 SQL语句的使用第14章:Java Web应用- 14.1 Servlet基础- 14.2 JSP技术- 14.3 MVC架构模式每个章节的课后答案通常包括理论问题和编程练习题的解答。

第十一章 GUI编程

第十一章 GUI编程

第十一章: GUI编程一.GUI -- Graphical User InterfaceAWT (抽象窗口工具集) AbstractWindow Toolkit为简单的applet程序设计AWT没有提供足够的桌面端的程序所需的特性它不适宜用来构建丰富的桌面图形界面SwingSwing是AWT的扩展和功能加强是构建java图形界面标准的APISWT (Standard Widget Toolkit)是一个开源的GUI编程框架SWT是IBM为它的Eclipse集成开发环境而开发的图形用户界面工具AWTAWT(Abstract Window Toolkit)包括了很多类和接口,用于Java Application 的GUI (Graphics User Interface 图形用户界面)编程。

GUI的各种元素(如:窗口,按钮,文本框等)由Java 类来实现。

AWT所涉及的类一般在java.awt包及其子包中。

Container和Component是AWT中的两个核心类。

Modal ModelessComponent & ContainerJava的图形用户界面的最基本组成部分是Component ,Component 类及其子类的对象用来描述以图形化的方式显示在屏幕上并能与用户进行交互的GUI元素,例如,一个按钮,一个标签等。

一般的Component对象不能独立地显示出来,必须将“放在”某一的Container对象中才可以显示出来。

Container是Component子类,Container子类对象可以“容纳”别的Component 对象。

Container对象可使用方法add(..)向其中添加其他Component对象。

Containter是Component的子类,因此Containter对象也可以被当作Component对象添加到其他Container对象中。

有两种常用的Containter:Window: 其对象表示自由停泊的顶级窗口Panel: 其对象可作为容纳其它Component对象,但不能独立存在,必须被添加到其它Containner中(如Window 或Applet)FrameFrame是Window的子类,由Frame或其子类创建的对象为一个窗体。

java图形界面设计含答案

java图形界面设计含答案

java图形界面设计含答案十一章图形用户界面程序设计入门一.选择题:1. 容器Panel和applet缺省使用的布局编辑策略是 BA、BorderLayoutB、FlowLayoutC、GridLayoutD、CarLayout2. .applet类的直接父类是: BA、Component类B、Container类C、Frame类D、Panel类3. .Swing与AWT的区别不包括 DA、Swing是由纯Java实现的轻量级构件B、Swing没有本地代码C、Swing不依赖操作系统的支持D、Swing支持图形用户界面4. 在编写Java applet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上 B _语句。

A、import java.awt.*;B、import java.applet.*;C、import java.io.*;D、import java.awt.event.*;5. 下面哪个操作是applet可以做的? BA、读取客户端部分系统变量B、读取客户端文件C、在客户端主机上创建新文件D、在客户端装载程序库6. 在Java中,所有类的根类是 AA./doc/302358554.html,ng.Object B./doc/302358554.html,ng.ClassC.java.applet.Applet D.java.awt.Frame7.在JAVA中实现图形用户界面可以使用组建AWT和组件 AA、swingB、SwingC、JOptionPaneD、import8.在JAVA中,一般菜单格式包含有下列类对象 DA、JMenuBarB、JMenuC、JMenuItemD、JMenuBar、JMenu、JMenuItem9.JAVA中提供了多种布局对象类。

其中使用卡片式布局的是 DA、FlowLayoutB、BoederLayoutC、BoxLayoutD、CardLayout10. 下列关于Applet的叙述中,错误的是 AA、Applet是Java类,所以可以由JDK中的解释器java.exe直接解释运行B、Applet应该定义为java.applet.Applet类或javax.swing.JApplet类的子类C、Applet与Application的主要区别在执行方式上D、通过在HTML文件中采用标记可以向Applet传递参数11 与Applet生命周期相关的方法的数量是 AA、4种B、3种C、2种D、5种12下列关于Applet的叙述中,错误的是 AA、Applet是Java类,所以可以由JDK中的解释器java.exe直接解释运行B、Applet应该定义为java.applet.Applet类或javax.swing.JApplet类的子类C、Applet与Application的主要区别在执行方式上D、通过在HTML文件中采用标记可以向Applet传递参数13 java中对Applet设置了严格的安全限制。

Java实用教程 第11章 AWT图形用户界面编程

Java实用教程 第11章 AWT图形用户界面编程

fr.add(p1, BorderLayout.NORTH);
// 将p1添加到窗口NORTH区域(即顶部)
Panel p2 = new Panel();
// 创建面板p2
p2.setLayout(new GridLayout(4, 5, 3, 3));
// 设置p2使用GridLayout布局
String[] name = {"7", "8", "9", "÷", "√", "4", "5", "6", "×", "%"
AWT容器
Window和Frame
Window和Frame
Window有两个子类:Frame和Dialog。Frame带有标题,而且可以调整大小。Dialog可以被移动, 但是不能改变大小。Frame有一个构造方法Frame(String title),通过它可以创建一个以参数为标题 的Frame对象。Frame的add()方法向容器中加入其他组件。Frame被创建后是不可见的,必须通过 以下步骤使它成为可见。
setLocation()、setSize()或setBounds() 方法,为它们在容器中一一定位。
布局管理器
1.流式布局管理器
FlowLayout是把组件从左向右、从上向下,一个接一个地放到容器中,组件之间的默认间隔 (水平和垂直)为5个像素,对齐方式为居中。组件的大小由布局管理器根据组件的最佳尺寸 来决定。 FlowLayout的构造方法:
, "1", "2", "3", "-", "1/x", "0", ".", "C", "+", "±"};

java11-GUI图形用户界面编程

java11-GUI图形用户界面编程

java11-GUI图形⽤户界⾯编程⼀、⼆、三、绝对布局import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;public class GuiDemo {private JFrame f; // 窗体private JTextField tf; // ⽂本框private JButton btn1; // 按钮 1private JButton btn2; // 按钮 2private JButton btnAdd; // 按钮加号 +private JButton btnEqual; // 按钮等于 =private JButton btnClear; // 按钮清除StringBuffer sb; // 定义⼀个变量,存储⽂本框⾥⾯的数值Integer number1; // 加数Integer number2; // 被加数Integer sum; // 和boolean b; // 运算符是否被点击// 构造⽅法GuiDemo() {// 初始化原始数据initData();// 控件初始化initUI();}private void initData() {sb = new StringBuffer("");number1 = 0;number2 = 0;sum = 0;b = false;}private void initUI() {f = new JFrame("计算器");f.setSize(400, 200); // 设置窗⼝的宽⾼f.setLocation(100, 100); // 设置窗⼝的起始点// f.setLayout(new FlowLayout()); // 会重新绘制⼤⼩f.setResizable(false); // 设置窗⼝⼀旦创建好,不能在改变⼤⼩。

实验三Java图形用户界面编程

实验三Java图形用户界面编程
static Double subNumber;
static Double mulNumber;
static Double divNumber;
static Double equalNumber;
static Double temp;
static JTextArea result=new JTextArea(1,20);
四.程序代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;//导入类包
class simplecalculator
{
static String point=new String();
static String Amal=new String();
static String SIX=new String();
static String SEVEN=new String();
static String EIGHT=new String();
static String NINE=new String();
static String ZERO=new String();
ForResult.add(result);
ForButton7_clear.setLayout(FLO);
ForButton7_clear.add(seven);
ForButton7_clear.add(eight);
ForButton7_clear.add(nine);
ForButton7_clear.add(div);
ForButton1_sub.add(FenZhiYi);
ForButton0_equal.setLayout(FLO);

11 GUI

11 GUI

18/56
2.常用组件
2.3 JPanel
import java.awt.*; import javax.swing.*;
public class TestJFrameJPanel
{ public static void main(String args[]) { JPanel panel=new JPanel(); panel.setBackground(Color.GREEN); JFrame frame=new JFrame("窗口名称"); frame.setBackground(Color.BLUE); frame.getContentPane().add(panel); frame.add(panel); frame.setVisible(true); } }
设置缺省的关闭方式: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
17/56
2.常用组件
2.2 JFrame
import java.awt.*; import javax.swing.JFrame; public class TestFrame { public static void main(String args[]) { JFrame f=new JFrame("My First Test"); f.setSize(300, 200); f.setBackground(Color.red); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().setBackground(Color.blue); f.setVisible(true); } }

第十一章swing-1

第十一章swing-1

描述
用指定的显示文本构造一个新的文本区 设置文本区的字体 获取文本区中的文本字符串
12
版本 1.0
课程 1
幻灯片 12,共 30 张
Java 编程语言
JButton 方法
JButton( )
说明
创建不带文本和图标的按钮
JButton(Icon icon)
JButton(String text) JButton(String text, Icon icon)
版本 1.0
课程 1
幻灯片 8,共 30 张
Java 编程语言
Swing GUI 组件 JTexField
JComboBox
JLabel
JCheckBox
JTexArea
9
JRadioButton
JButton
课程 1 幻灯片 9,共 30 张
版本 1.0
Java 编程语言
JLabel 方法
JLabel()
版本 1.0
课程 1
幻灯片 19,共 30 张
Java 编程语言
布局管理器
•用户界面上的屏幕组件可以按照一定的格式 布局 例如水平排列,或按网格方式排列 •布局管理器类是一组类,它
• 实现 youtManager 接口 • 帮助在容器中放置组件
•Java 中可用的各种布局如下:
将项添加至项的列表 返回指定索引位置的列表项 返回列表(作为对象)中的项数 将当前选择的项作为一个对象返回 返回当前选择项的索引位置
16
版本 1.0
课程 1
幻灯片 16,共 30 张
Java 编程语言
事件处理程序 3-1
用户交互
单击鼠标 按下/释放鼠标按钮

java图形用户界面设计

java图形用户界面设计

实验名称:图形用户界面设计一、实验目的1.掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。

如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。

2.掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。

能够将它们联合起来使用。

3.掌握java语言的事件处理。

每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。

二、实验环境(软件、硬件环境)PC机JDK包三、实验原理通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。

javax.swing包中的组件类可以帮助我们完整界面的设计。

javax.swing包的JComponent类是java.awt包中的Container 类的一个直接子类、Component类的间接子类。

javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。

在学习GUI编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。

四、实验容及步骤实验容:密码验证问题。

编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请输入正确的信息”,如果尝试失败,用户则退出。

调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、图8-3和图8-4所示,请将程序中的代码1~代码7补充完整。

图8-1 运行结果,输入正确信息图8-2 显示欢迎信息图8-3 运行结果,输入错误信息图8-4 显示重新输入信息程序清单://PasswordVerification.javaimport javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordV erification extends JFrame{JLabel userLabel;JLabel passwordLabel;JTextField userText;JPasswordField passwordText;int count=1;//统计输入信息的次数public PasswordVerification(){super("请输入信息");Container c =代码1;//得到容器对象containerc.setLayout(new FlowLayout());//设置默认布局userLabel=代码2//创建用户标签passwordLabel=代码3;//创建密码标签userText=代码4//创建用户文本输入框passwordText=代码5//创建密码输入文本框passwordText. 代码6(new ActionListener(){ //注册事件监听者public void actionPerformed(代码7)//事件处理{String userName=new String("三");//假设为正确的用户名String password=new String("12345678");//假设为正确的密码if(e.getSource()==passwordText){count++;char[] passwords=passwordText.getPassword();if(userText.getText().equals(userName)&&password.equals(new String(passwords))){JOptionPane.showMessageDialog(null,"欢迎您:"+userName);System.exit(0);}else if(count>3)System.exit(0);else {JOptionPane.showMessageDialog(null,userText.getText()+"请输入正确信息");}}}});c.add(userLabel);c.add(userText);c.add(passwordLabel);c.add(passwordText);setSize(240,100);setVisible(true);}public static void main(String[] args){PasswordVerification pv=new PasswordV erification();pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}五、实验数据及处理import javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordVerification extends JFrame{JLabel userLabel;JLabel passwordLabel;JTextField userText;JPasswordField passwordText;int count=1;//统计输入信息的次数public PasswordVerification(){super("请输入信息");Container c =getContentPane();//得到容器对象containerc.setLayout(new FlowLayout());//设置默认布局userLabel=new JLabel("用户:");//创建用户标签passwordLabel=new JLabel("密码:");//创建密码标签userText=new JTextField(5);//创建用户文本输入框passwordText=new JPasswordField(5);//创建密码输入文本框 passwordText.addActionListener(new ActionListener() { //注册事件监听者public void actionPerformed( ActionEvent e) //事件处理{String userName=new String("三");//假设为正确的用户名String password=new String("12345678");//假设为正确的密码 if(e.getSource()==passwordText){count++;char[] passwords=passwordText.getPassword();if(userText.getText().equals(userName)&&password.equals(new String(passwords))){JOptionPane.showMessageDialog(null,"欢迎您:"+userName);System.exit(0);}else if(count>3)System.exit(0);else {JOptionPane.showMessageDialog(null,userText.getText()+"请输入正确信息");}}}});c.add(userLabel);c.add(userText);c.add(passwordLabel);c.add(passwordText);setSize(240,100);setVisible(true);}public static void main(String[] args){PasswordVerification pv=new PasswordVerification();pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}运行结果:思考:(1)程序PasswordVerification.java中第3行语句java.awt.*的作用是什么?答:添加容器类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11.2.2 Swing窗口对象
通过上面的例子,我们大体上理解了窗口程序的设计 过程。在Jpro11_3.java中,使用了Swing中的窗口组 件JFrame类,它属于javax.swing类库。javax.swing类 库提供的部分容器类以及它们之间的继承关系如图117所示。 从图11-7可以看出,除了四个顶层容器之外,容器类 都是JComponent类的子类。而JComponent类是 Container类的子类,所以在Component类和Container 类中定义的方法,在Swing的容器类中都可以使用。比 如,Jpro11_3.java中jf对象使用的setSize()、 setBackground()、setLocation()与setVisible()方法都 是在Component类中定义的,add()方法则是在 Container类中定义的。
11.1.1 GUI组成元素分类
在Java中,GUI组成元素都放在java.awt和 javax.Swing包内,它们都包含了大量的类。构 成图形用户界面的各种元素和成份可以粗略地 分为三类:容器(container)、组件 (components)和用户自定义成份。 1.容器 . 容器是用来组织或容纳其他界面成份和元 素的组件。Java提供了相应的容器类,例如, 框架(JFrame/Frame)、面板(JPanel/Panel) 及滚动面板(JScrollPanel/ScrollPanel)等类。
1.当新建的窗口显示在显示器上,或从隐藏变成显 示时; 2.从缩小图标还原之后; 3.正在改变窗口的大小时。
11.1.3 颜色、字体和图形(续)
paint()方法的格式是: public void paint(Graphics g) 可以将Graphics对象传给paint()方法,这样一来,编 写在paint()里面的程序代码便可在绘图区内绘制图形了。 上面的绘图代码就可以进行改写,将绘制矩形的代码放在 paint()方法里面,程序通过调用paint()进行绘图。 Graphics g=frame.getGraphics(); paint(g); g.drawRect(30,60,140,40); 第二条语句是调用paint()方法在指定的组件上进行绘 图,第三条语句应写在paint()方法内,绘制长方形。
11.2 Swing容器
Swing工具包中提供了三类容器组件,分别是: 1.顶层容器:JFrame、JDialog、JApplet、 Jdialog,这四个组件是 Swing 库中仅有的重量 级容器; 2.中间容器:JPanel、JScrollPane、JSplitPane、 JTabbedPane和JToolBar,用于容纳其他组件, 但需要放置在顶层容器中。 3.特殊容器:在GUI上起特殊作用的中间层,如 JInternalFrame、JLayeredPane、JRootPane。
11.2 Swing容器(续)
与AWT容器不同,Swing组件不能直接添加到顶层容器 中,它必须添加到一个与Swing顶层容器相关联的内容 面板(JContentPane)上。内容面板是顶层容器包含 的一个普通容器它是一个轻量级组件。
图11-5 Swing容器层次结构
11.2.1 简单的窗口对象示例
程序分析: 这个例子中,在类Jpro11_2里面定义一个Frame窗口 对象,该容器同时也实现了事件监听器功能。在该窗口类 中定义了五个静态的对象,分别是两个Label标签对象: tip和result,tip起到提示操作的功能,result显示操作的结 tip result tip result 果;两个TextField文本框对象:sys和user,sys显示了系 统自动产生的数字,user供用户输入信息;还有一个 Button按钮对象submit,供用户输入后提交答案;这些均 是AWT基本组件。setBounds()、setVisible()等方法用来改 变窗口对象的状态,具体见下节。add()方法通常用于将一 些基本组件加入到容器里面。本程序还涉及到了布局管理 和事件驱动设计,AWT和Swing在这两部分基本是相同的, 这两部分内容在本章后面将详细说明。
11.1.3 颜色、字体和图形(续)
3.Graphics类 . 类 Graphics类是所有图形上下文的抽象基类,允许应 用程序在组件上进行图形绘制。由于不能直接创建对 象,一般通过以下两种方法获得该对象: 调用paint()或update()方法,系统自动获取当前界 面的Graphics对象作为参数传递给GUI程序; 调用Component类的getGraphics()方法。 比如,想在窗口中绘制一个矩形,下面的语句就 可以实现。 Graphics g=frame.getGraphics(); g.drawRect(30,60,140,40);
11.1.2 AWT和Swing介绍
Sun公司提供了两个图形工具类包AWT和Swing,负责 构建GUI界面。AWT是将本地化的工具组件进行简单 抽象而形成的。用AWT创建组件和进行事件处理时, 都是直接由相应组件进行自身绘制并对事件作出响应。 由于AWT的这个特征,这些组件被称为重量级组件, AWT被称为重量级的图形工具。 考虑到跨平台的原因,AWT只提供了各个平台都支持 的、构建GUI必需的一些基本组件。因此AWT包小而 简单。由于AWT直接调用本地图形构件来实现图形界 面,使得用AWT构件的GUI往往在不同的操作系统平 台上具有不同的风格,而且GUI的性能也受到了限制。 这影响了Java程序的跨平台性。
11.1.3 颜色、字体和图形(续)
11.1.3 颜色、字体和图形(续)
比如,要使用一个红色对象,下面几种方 法都可以实现: Color.red Color.RED new Color(255,0,0) new Color(1.0,0.0,0.0)
11.1.3 颜色、字体和图形(续)
2.Font类 . 类 Font类是用来规范组件所用文字的字体、大小和 样式等。Font类提供了一个构造方法Font(),一个设置 字体的成员方法setFont(),以及若干个获取字体有关 信息的成员方法。要设置一个字体,可以使用Font()构 Font() 造方法实现: Font(String fontname,int style,int size) 其中,fontname为字体名,如宋体、黑体、楷体、 Arial、Courier、TimesRoman、Helvetica等;style为 字体样式,如粗体(BOLD)、斜体(ITALIC)、正常 体(PLAIN);size为用像素点表示的字体大小。
图11-3 AWT的绘图
类Graphics的常用方法
类Graphics的常用方法(续)
注意,上面的所有方法只要涉及到坐标,均是以窗口 的左上角为原点,向右为正x方向,向下为正y方法。
11.1.4 使用AWT创建图形用户 界面
使用AWT构建一个图形用户界面的基本步骤一 般包括以下几步:
创建容器组件(如Frame、Panel等),在容器中添 加需要的其他组件(如Button、Label、TextField和 Checkbox等)。 创建布局管理器,用来自动设置容器中组件的位置 和大小。 使用委派事件模型来响应用户操作,实现用户和程 序的交互。
11.1 GUI概述
图形用户界面(GUI,Graphics User Interface)是软件 产品与用户交互的接口,是软件产品中用户可以看到并 直接操作的部分。如图11-1所示,Java语言集成开发工 具JCreator提供了良好的用户 界面,使用户编写Java程序 变得简单。用户通过图形界 面向计算机系统发布命令、 控制操作,系统的结果也以 图形界面方式显示给用户。
AWT中各种基本组件类如表11-3所示。
AWT基本组件
AWT创建图形用户界面示例
例11.2 显示一个数字验证窗口,并通过信息显示是否输入 . 显示一个数字验证窗口, 正确。 正确。
AWT创建图形用户界面示例 (续)
运行结果如图11-4所 示。
图11-4 AWT窗口示例程序
AWT创建图形用户界面示例 (续)
11.1.3 颜色、字体和图形(续)
第一条语句是取得窗口的绘图区,第二条 语句是绘制长方形。但是,当用其他窗口覆盖 这个窗口,或者将窗口最小化时,绘制出来的 图形也会随之覆盖或者消失。为了避免这种情 况,AWT提供了一个自发性的paint()方法。 paint()方法在下列情况发生时,会自动运行:
11.1.2 AWT和Swing介绍(续)
Swing不但重写了AWT中的组件,还为这些组 件增添了新的功能,提供了许多AWT没有的、 创建复杂图形用户界面的组件,增强了GUI与 Java程序的交互功能。Swing提供的可插入式 的观感能让用户创建出跨平台的GUI。 Swing和AWT部分组件的继承关系和层次关系 如图11-2所示。
11.1.2 AWT和Swing介绍(续)
图11-2 Swing和AWT部分组件的继承和层次关系
11.1.3 颜色、字体和图形
在进行用户界面设计时,经常会用到Color类、Font类 和Graphics类,分别用来设置颜色、字体和图形,这 三个类属于java.awt包,同样可以在创建Swing界面时 使用。 1.Color类 1.Color类 Color类用于封装默认sRGB颜色空间中的颜色,或 者用于封装由ColorSpace标识的任意颜色空间中的颜 色。Color类中已经创建了一些常见的颜色对象,包括 BLACK、BLUE、CYAN、GRAY、GREEN、MAGENTA、 ORANGE、PINK、RED、WHITE等,这些颜色对象可 以直接使用。当然,也可以通过Color类的构造方法来 创建颜色。表11-1列出了Color类的构造方法。
11.1.1 GUI组成元素分类(续)
2.组件 . 与容器不同,组件是图形用户界面的基本单位, 里面不再包含其他成份。组件是一个可以以图形化的 方式显示在屏幕上并能与用户进行交互的对象,例如 一个按钮,一个标签等。组件不能独立地显示出来, 必须将组件放在一定的容器中才可以显示出来。 3.用户自定义成份 . 除了上述的标准图形界面元素外,编程人员还可 以根据用户的需要,使用各种字型字体和颜色设计一 些几何图形、标志图案等,它们被称作用户自定义成 份。用户自定义成份通常只起到显示结果、装饰美化 的作用,不能响应用户的动作,不具有交互功能。
相关文档
最新文档