Java基础案例教程第8章_GUI(图形用户界面)
- 格式:ppt
- 大小:2.22 MB
- 文档页数:65
第8章图形用户界面设计学习目标Java API提供了A WT和Swing两套组件来实现图形用户界面。
它们包含了用来设计图形用户界面的各种基本控制组件,容器组件和布局管理组件,并采用事件委托的处理模式。
本节将介绍A WT包和Swing包各自的特点,并学习Java组件的概念。
本章要点☑什么是GUI☑布局管理机制☑AWT组件☑Swing组件8.1 容器和组件容器和组件都是图形用户界面中的重要概念,本节将从容器与组件入手来学习图形用户界面的相关知识。
8.1.1 什么是用户图形界面图形用户界面(Graphics User Interface,GUI)提供了所见即所得的功能,方便了用户的操作,成为软件设计的通用标准。
Java语言提供了图形用户界面所需要的基本组件,这些组件全部包含在java.awt包中,利用这些组件可以设计出功能强大的GUI软件。
Java1.0的出现带来了A WT(Abstract Windowing Toolkit),中文译为抽象窗口工具包。
设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上。
在Java1.2中,Sun公司推出了新的用户界面库:Swing。
相对A WT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。
但是,Swing并没有代替A WT,在Java1.1中,AWT事件处理模型有了根本改变。
Swing使用的仍然是Java1.1的事件处理模型。
8.1.1 容器和组件的概念容器是一种特殊的组件,它可以包含其他组件,即可以把组件放在容器中。
反之,如果一个组件不是组件容器,则其中不能包含其他组件。
容器也是一种组件,所以一个组件容器可以放在另一个组件容器中。
¤Java程序设计教程︻电脑基础·实例·上机系列教程︼A WT容器分为两类:外部容器和内部容器。
其中,外部容器一般会独立存在,例如Frame类;而内部容器则会嵌套在外部容器内部使用,例如Panel类。
实验8GUI程序设计一、实验目的:1、学习使用框架、面板、和简单用户界面UI组件。
2、学习使用布局管理器。
3、理解和学习Windows事件驱动程序。
4、熟悉Java事件委托模式:事件的注册、监听和处理。
二、实验任务:1、使用Java SDK创建一个Windows图形界面应用程序,上面包括一个按钮。
2、实现一个能做算术运算的用户界面。
界面包括标签和文本域Number1、Number2、Result。
Result文本域用于显示Number1和Number2的算术运算的结果。
3.选作:实现一个简易计算器,实现基本的运算功能。
三、实验步骤:2.参考代码import javafx.application.Application;import javafx.geometry.Pos;import javafx.geometry.HPos;import javafx.scene.Scene;import javafx.scene.control.Button;import bel;import javafx.scene.control.TextField;import yout.GridPane;import javafx.stage.Stage;public class TestFX extends Application {private TextField n1 = new TextField();private TextField n2 = new TextField();private TextField r1 = new TextField();private TextField r2 = new TextField();private Button Add = new Button("和");private Button Subtract = new Button("差");public void start(Stage primaryStage) {GridPane gridPane = new GridPane(); gridPane.setHgap(5);gridPane.setVgap(5);gridPane.add(new Label("数值1:"), 0, 0); gridPane.add(n1, 1, 0);gridPane.add(new Label("数值2:"), 0, 1); gridPane.add(n2, 1, 1);gridPane.add(new Label("和:"), 0,2); gridPane.add(r1, 1, 2);gridPane.add(new Label("差:"), 0, 3); gridPane.add(r2, 1, 3);gridPane.add(Add, 1, 4);gridPane.add(Subtract, 0, 4);//设置属性gridPane.setAlignment(Pos.CENTER);n1.setAlignment(Pos.BOTTOM_RIGHT);n2.setAlignment(Pos.BOTTOM_RIGHT);r1.setAlignment(Pos.BOTTOM_RIGHT);r2.setAlignment(Pos.BOTTOM_RIGHT);r1.setEditable(false);r2.setEditable(false);// 处理事件Add.setOnAction(e -> qiuhe());// 处理事件Subtract.setOnAction(e -> qiucha());// 创建场景放在舞台中Scene scene = new Scene(gridPane, 400, 250); primaryStage.setTitle("数值计算"); primaryStage.setScene(scene); //设置场景到舞台中primaryStage.show(); // 显示舞台}private void qiuhe() {// 获取数值double a =Double.parseDouble(n1.getText());double b = Double.parseDouble(n2.getText());double r = (a+b);r1.setText(String.format("%.2f",r));}private void qiucha() {// 获取数值double a =Double.parseDouble(n1.getText());double b = Double.parseDouble(n2.getText());double r = (a-b);r2.setText(String.format("%.2f",r));}public static void main(String[] args) {launch(args);}}四、本次实验难点:由于同学们过去学过的程序设计方法都是简单的基于命令流的控制台应用程序,所以建立Windows事件驱动模型的应用程序的概念是本次实验的难点,希望同学们仔细体会事件驱动模型的概念。
Java图形用户界面(GUI)编程Swing和AWT库的使用在编程领域,图形用户界面(Graphical User Interface,简称GUI)是一种通过图形、图像和图标等可视化元素与用户进行交互的界面形式。
Java作为一种跨平台的编程语言,提供了多种库和框架来实现GUI编程的需求。
其中,Swing和AWT是两个常用的Java GUI库,它们提供了丰富的组件和功能来创建用户友好的界面。
本文将重点介绍Java Swing和AWT库的使用,帮助读者了解和掌握这两个库的基本用法。
一、Swing库的使用Swing库是Java提供的一个基于AWT库的GUI工具包,它提供了丰富的组件和功能来创建交互式的图形界面。
下面将介绍几个常用的Swing组件及其使用方法。
1. JFrame窗口JFrame是Swing中最基本的容器,它代表了一个窗口。
我们可以使用JFrame类创建一个窗口,并在其中添加其他的组件。
以下是一个示例代码:```javaimport javax.swing.*;public class MyFrame extends JFrame {public MyFrame() {setTitle("My Frame");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {new MyFrame();}});}```在这个例子中,我们创建了一个名为"My Frame"的窗口,并设置了窗口的大小为300x200像素。
通过调用`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`方法,我们将在用户关闭窗口时退出程序。
《Java基础入门》课后习题答案第8章GUI(图形用户界面)一、填空题1、在Java 中,图形用户界面简称: GUI2、事件监听器: 负责监听事件源上发生的事件,并对各种事件做出响应处理。
3、GUI 设计提供了一些基本的图形用户接口开发工具,如AWT:Swing 和JavaFX。
4、.如果单击Frame窗口有上角的关闭按相能将其关闭:那么这个Frame窗口添加了:WindowListener 监听器,并实现了监听器:windowClosing(WindowEvent e) 的方法。
5、创建下拉式菜单需要使用三个组件,分别是:JMenuBar、JMenu、JMenuItem二、判断题1、容器(Container)是一个可以包含基本组件和其他容器的组件。
对2.可以通过实现AetionListener 接口或者继承AconAdpter 类来实现动作事件监听器。
错3.CardLayout 布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。
对4.非模态对话框是指用户需要等到处理完对话框后才能继续与其他窗口进行交互。
错5.JFrame 的默认布局管理器是FlowLayout。
错三、选择题1.下面四个组件中哪一个不是JComponent 的子类? (B)A.JButtonB.JDialogC. JLabelD.JMenuBar2.下面四个选项中,哪些是事件处理机制中的角色?(多选) (ABD)A.事件B.事件源C.事件接口D.事件监听器3. ActionEvent 的对象会被传递给以下哪个事件处理器方法? (D)A.addChangeListener()B. addActionListener()C. stateChanged()D. actionPerformed()4.下面哪些是FlowLayout 类中表示对齐方式的常量?(多选) (ABD)A.FlowLayout.LEFTB.FlowLayout.CENTERC. FlowLayout. VERTICALD. FlowLayout. RIGHT5.下列选项中关于JavaFX,描述错误的是(C )A.JavaFX是一个强大的图形和多媒体处理工具包集合B. JavaFX 允许开发者来设计、创建、测试、调试和部署客户端程序C.JavaFX不能与Swing实现互操作D.JavaFX可以实现跨平台功能四、简答题1、请简述GUI 中实现事件监听的步骤:●通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的方法进行重写●创建事件源对象和事件监听器对象●调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象2、请简述Swing 中的布局管理器有哪些。