(3)JAVA练习(GUI程序设计)
java gui实训课程设计

java gui实训课程设计Java GUI实训课程设计引言:随着计算机技术的不断发展,图形用户界面(Graphical User Interface,GUI)已经成为了现代软件开发的重要组成部分之一。
Java作为一种广泛应用于软件开发领域的编程语言,也提供了强大的GUI库,使得开发者能够轻松地创建交互性强、界面美观的应用程序。
因此,Java GUI实训课程设计对于学生们来说具有重要的意义。
一、课程设计背景与目标Java GUI实训课程设计旨在通过实践操作,让学生们掌握Java GUI 开发的基本理论与应用技巧。
通过该课程的学习,学生们将能够独立完成一个基于Java GUI的应用程序的设计与开发,提高他们的软件开发能力和创新思维。
二、课程设计内容1. Java GUI基础知识在课程的开始阶段,学生们将系统地学习Java GUI的基本概念和原理,包括Swing组件、布局管理器、事件监听器等内容。
通过理论学习和实践操作,学生们将掌握Java GUI的基本框架和开发流程。
2. 实践项目选题在学习了Java GUI的基础知识之后,学生们将根据自己的兴趣和实际需求,选择一个适合的实践项目进行设计与开发。
项目的选题可以涉及各个领域,例如学生信息管理系统、音乐播放器、游戏界面等等。
通过实践项目的设计与开发,学生们能够将所学知识应用于实际,提升他们的综合能力。
3. 项目需求分析与设计在开始实际编码之前,学生们需要进行项目需求分析与设计。
他们需要与团队成员合作,明确项目的功能需求和界面设计,并编写相应的需求文档和设计文档。
这一阶段的工作能够帮助学生们更好地理解项目的需求,为后续的编码工作奠定基础。
4. 项目编码与测试在完成项目的需求分析与设计之后,学生们将进入项目的编码与测试阶段。
他们需要根据需求文档和设计文档编写Java代码,并进行相应的单元测试和集成测试。
通过这一阶段的工作,学生们将加深对Java GUI的理解,并掌握常用的调试技巧。
JavaGUI程序设计

南京信息工程大学实验(实习)报告实验(实习)名称 JavaGUI程序设计实验(实习)日期得分指导教师陈遥系计算机专业网络工程年级 2014 班次 2 姓名刘信言学号 20142346074一、实验目的1、掌握图形用户界面的基本组件(如窗口、按钮、文本框、选择框等)的使用方法。
2、掌握使用布局管理器对组件进行管理的方法。
3、理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
二、实验内容及步骤1、算术测试。
编写一个算术测试小软件,用来训练小学生的算术能力。
程序由3个类组成,具体如下(1) Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;(2) ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame 类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;(3) MainClass是软件的主类。
程序运行效果示例程序运行效果如下图所示:【源程序】【运行截图】*报错正常:2、布局与日历。
编写一个应用程序,有一个窗口,该窗口为BorderLayout布局,具体设计如下:(1)窗口的中心添加一个Panel容器pCenter,pCenter的布局是7行7列的GriderLayout 布局,pCenter中放置49个标签,用来显示日历。
(2)窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮,可以显示当前月的上一月的日历。
(3)窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。
程序运行效果示例:程序运行效果如下图所示:【源程序】【运行截图】四、实验小结程序一需要判断number1是否小于number2,否则出现结果为负数的情况后程序不能正常运行。
使用Java开发形用户界面(GUI)应用程序

使用Java开发形用户界面(GUI)应用程序Java是一种跨平台的编程语言,广泛应用于开发各种类型的应用程序,包括形用户界面(GUI)应用程序。
本文将介绍使用Java开发GUI应用程序的基本步骤和技巧。
一、GUI应用程序介绍GUI应用程序是指具有图形界面的应用程序,用户可以通过鼠标、键盘等输入设备与程序进行交互。
相比于命令行应用程序,GUI应用程序通常更加直观、易于使用。
Java提供了丰富的GUI编程库,可以方便地创建各种交互式应用程序。
二、Java GUI编程库Java提供了两个主要的GUI编程库:AWT(Abstract Window Toolkit)和Swing。
AWT是Java最早提供的GUI编程库,它使用操作系统的原生组件绘制用户界面;而Swing是在AWT基础上开发的,它使用Java绘制用户界面,实现了更好的跨平台性能。
三、创建GUI应用程序的基本步骤1.导入必要的类库:在开发GUI应用程序之前,需要导入相应的类库,例如import javax.swing.*。
2.创建窗口:使用JFrame类创建窗口,并设置窗口的标题、大小和关闭方式等。
3.创建组件:使用各种Swing组件,如按钮、标签、文本框等,来构建用户界面。
4.设置布局管理器:使用布局管理器来控制组件的排版和布局,例如FlowLayout、BorderLayout等。
5.添加事件处理:为各个组件添加事件监听器,使其能够响应用户的交互操作,例如按钮的点击事件、文本框的文本改变事件等。
6.处理用户输入:在事件处理中,根据用户输入的不同,可以进行相应的逻辑处理,例如验证用户输入的合法性、执行特定的操作等。
7.显示窗口:将窗口组件添加到窗口中,并设置窗口可见,使其能够显示出来。
四、示例代码以下是一个使用Java Swing库创建简单GUI应用程序的示例代码:```import javax.swing.*;public class MyApplication extends JFrame {public MyApplication() {// 设置窗口标题setTitle("My Application");// 设置窗口大小setSize(400, 300);// 设置窗口关闭方式setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建标签组件JLabel label = new JLabel("Hello, World!");// 将标签组件添加到窗口中add(label);// 设置布局管理器setLayout(new FlowLayout());// 显示窗口setVisible(true);}public static void main(String[] args) {// 在事件分派线程中创建窗口对象SwingUtilities.invokeLater(new Runnable() {public void run() {new MyApplication();}});}}```以上代码创建了一个窗口,窗口标题为"My Application",大小为400x300像素。
Java实验8 GUI程序设计

实验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语言程序设计课程设计实训项目——应用Java Swing GUI组件技术实现课程选课系统GUI窗口(第1部分)

杨教授工作室,版权所有,盗版必究, 1/19 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
(2)重复添加 5 个 JButton 组件
杨教授工作室,版权所有,盗版必究, 2/19 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
oneStudentManage.systemRegister(); } 6、测试主窗口内的“退出系统”按钮的正确性
点击“退出系统”按钮后,将关闭主窗口,同时退出本系统程序。 1.1.2 课程选课系统注册窗口的 UI 实现 1、打开 Form 设计器
(1)设置包名称为 com.px1987.course.ui,类名称为 StudentRegisterWindow,并选择 JFrame 模板
杨教授工作室,版权所有,盗版必究, 7/19 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
(2)点击“Finish”完成按钮,最后将产生出下面的窗口类及代码
2、设置窗口的主要属性 (1)设置窗口的标题文字为:蓝梦选课系统注册窗口。
杨教授工作室,版权所有,盗版必究, 8/19 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
杨教授工作室,版权所有,盗版必究, 13/19 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
(3)改变按钮的对象名称为 loginNameButton (4)为该确认按钮添加鼠标点击事件
杨教授工作室,版权所有,盗版必究, 14/19 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
private void cancelLoginButtonActionPerformed(java.awt.event.ActionEvent evt) {
Java中的GUI界面设计和事件处理入门

Java中的GUI界面设计和事件处理入门一、引言Java是一种面向对象的编程语言,具有广泛的应用领域。
在软件开发过程中,GUI界面设计和事件处理是非常重要的一部分。
本文将介绍Java中的GUI界面设计和事件处理的入门知识,以帮助读者了解和掌握这方面的技术。
二、GUI界面设计基础GUI(Graphical User Interface,图形用户界面)是指通过图形、图像和动画等方式来显示信息,提供用户与计算机之间的交互。
在Java中,可以使用Swing和JavaFX等库来进行GUI界面设计。
1. 布局管理器在GUI界面设计中,布局管理器用于管理组件的布局方式。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和GridBagLayout等。
使用不同的布局管理器可以实现不同的界面布局效果。
2. 组件组件是GUI界面的基本元素,可以是按钮、文本框、标签、列表框等。
在Java中,可以使用JButton、JTextField、JLabel和JList等类来创建各种组件。
可以设置组件的属性,如大小、位置和样式等。
3. 事件监听器事件监听器用于捕捉用户操作产生的事件,并做出相应的处理。
在Java中,可以使用addActionListener()方法为组件添加监听器,响应用户的点击事件。
事件监听器可以以匿名内部类的形式实现,也可以作为单独的类来处理。
三、GUI界面设计实例下面以一个简单的登录界面为例,介绍如何使用Java中的GUI 界面设计来创建一个具有交互功能的窗体。
1. 导入必要的类库首先需要导入javax.swing和java.awt等类库,以便使用其中的类和方法。
2. 创建窗体可以通过继承JFrame类来创建一个窗体对象,然后设置窗体的标题、大小和关闭方式等属性。
3. 添加组件可以使用JLabel、JTextField和JButton等组件类来创建对应的界面元素,并设置它们的属性和布局。
GUI应用开发JAVA实验报告

GUI应用开发JAVA实验报告一、实验目的本实验旨在提高学生对于GUI应用开发的理论和实践能力。
通过本实验,学生将掌握使用JAVA语言开发GUI应用程序的方法和技巧,并能够应用所学的知识,完成一个简单的GUI应用程序的开发。
二、实验内容本实验要求学生使用JAVA语言开发一个简单的GUI应用程序,要求程序能够实现以下功能:1.提供一个用户界面,包含输入框和按钮。
用户可以在输入框中输入一段文字,然后点击按钮后,程序将会把输入框中的文字显示在屏幕上。
2.提供一个菜单栏,包含一个文件菜单和一个帮助菜单。
文件菜单中包含一个打开选项和一个退出选项。
帮助菜单中包含一个关于选项。
用户可以通过菜单栏选择文件菜单中的选项,实现打开文件和退出程序的功能。
用户还可以选择帮助菜单中的关于选项,显示程序的相关信息。
三、实验步骤1.创建一个新的JAVA项目,命名为“GUI应用开发”。
2.在项目中创建一个新的JAVA类,命名为“GUI应用”。
3. 在“GUI应用”类中使用Swing包中的组件创建用户界面,并添加输入框和按钮。
4. 在按钮的ActionListener中实现按钮的点击事件,获取输入框中的文字并显示在屏幕上。
5.在“GUI应用”类中创建一个菜单栏,并添加文件菜单和帮助菜单。
6.在文件菜单中添加打开选项和退出选项,并实现打开文件和退出程序的功能。
7.在帮助菜单中添加关于选项,并实现显示程序的相关信息的功能。
四、实验结果经过实验,我成功地开发了一个能够实现要求功能的GUI应用程序。
用户可以在输入框中输入文字,然后点击按钮,程序会将输入框中的文字显示在屏幕上。
同时,用户还可以通过菜单栏选择文件菜单中的选项,实现打开文件和退出程序的功能。
用户还可以选择帮助菜单中的关于选项,显示程序的相关信息。
五、实验总结通过本次实验,我深入了解了GUI应用开发的基本原理和常用的技巧。
我学会了使用JAVA语言开发GUI应用程序的方法,并能够应用所学的知识,完成一个简单的GUI应用程序的开发。
19JavaGUI程序设计三共17页

TextArea例子(示例11-12)
import java.awt.*; public class MyTextArea {
Frame f=new Frame("My TextArea"); TextArea t1=new TextArea("My Text Area",4,20); public MyTextArea() {
创建菜单例子(示例11-16)
f = new Frame("Menu"); mb = new MenuBar(); m1 = new Menu("File"); m2 = new Menu("Edit"); m3 = new Menu("Help"); mb.add(m1); mb.add(m2); mb.setHelpMenu(m3); f.setMenuBar(mb);
文 家 。汉 族 ,东 晋 浔阳 柴桑 人 (今 江西 九江 ) 。曾 做过 几 年小 官, 后辞 官 回家 ,从 此 隐居 ,田 园生 活 是陶 渊明 诗 的主 要题 材, 相 关作 品有 《饮 酒 》 、 《 归 园 田 居 》 、 《 桃花 源 记 》 、 《 五 柳先 生 传 》 、 《 归 去来 兮 辞 》 等 。
f.setLayout(new BorderLayout()); f.add(t1,BorderLayout.NORTH); f.pack(); f.show(); } public static void main(String args[]) { MyTextArea tf=new MyTextArea(); } }
Dialog例子(示例11-13)
f=new Frame("My Dialog show"); setBackground(Color.black); f.setSize(100,200); d=new Dialog(f,"My Dialog",true); …… f.show(); d.show();
java gui实训课程设计

java gui实训课程设计Java GUI实训课程设计Java GUI(图形用户界面)是Java编程语言提供的一个强大的工具,用于创建交互式的用户界面。
在Java GUI实训课程设计中,学生将学习如何使用Java编写GUI应用程序,通过图形界面与用户进行交互。
在Java GUI实训课程设计中,学生将学习如何使用Java的图形库(如Swing或JavaFX)来创建窗口、按钮、文本框、标签等GUI 组件,并对这些组件进行布局和事件处理。
通过实践,学生将掌握GUI编程的基本概念和技巧,如界面设计、事件驱动编程、用户输入验证等。
在Java GUI实训课程设计中,学生通常会完成一个小型的GUI应用程序,例如一个简单的计算器或一个学生信息管理系统。
在这个过程中,学生需要进行需求分析、界面设计、编码实现和测试调试等多个阶段的工作。
他们需要根据用户需求设计界面,选择合适的组件并进行布局,编写事件处理代码以响应用户操作,并确保程序的稳定性和可靠性。
在Java GUI实训课程设计中,学生需要学习如何使用Java提供的GUI组件库来创建用户界面。
他们可以使用布局管理器来控制组件的位置和大小,使用事件监听器来处理用户的操作,还可以使用绘图工具来实现自定义的界面效果。
通过这些工具和技术,学生可以创建出美观、易用的GUI应用程序。
在Java GUI实训课程设计中,学生还需要学习如何进行调试和错误处理。
他们需要学会使用调试工具来查找和修复程序中的错误,以确保程序的正确运行。
同时,他们还需要学会处理用户输入的异常情况,例如输入非法字符或超出范围的数据等,以提高程序的健壮性和用户体验。
在Java GUI实训课程设计中,学生将面临一些挑战和难点。
例如,他们需要学会合理地设计界面,使之既美观又易用;他们还需要学会处理不同类型的事件,如按钮点击、鼠标移动等;他们还需要学会使用多线程来处理复杂的任务,以保持程序的响应性。
通过Java GUI实训课程设计,学生可以提高自己的编程能力和软件开发技巧。
如何使用Java编写简单的GUI应用程序

如何使用Java编写简单的GUI应用程序1. 引言Java是一种流行的编程语言,广泛用于开发各种类型的应用程序。
GUI(图形用户界面)应用程序是其中一种常见的应用类型。
本文将介绍如何使用Java编写简单的GUI应用程序。
2. Java的GUI库Java提供了多种GUI库来开发图形界面应用程序,其中最常用的是Swing和JavaFX。
本文将着重介绍Swing库,因为它是Java标准库的一部分,并且易于学习和使用。
3. 准备工作在开始编写GUI应用之前,需要确保已经安装了Java开发环境(JDK)并配置好相应的环境变量。
可以通过在命令行中输入`java -version`来检查JDK的安装情况。
4. 创建GUI窗体首先,在Java中创建一个GUI窗体需要借助于Swing库中的JFrame类。
可以通过以下代码创建一个简单的GUI窗体: ```javaimport javax.swing.JFrame;public class MyGUIApp extends JFrame {public MyGUIApp() {// 设置窗体标题setTitle("My GUI App");// 设置窗体大小setSize(400, 300);// 设置默认关闭操作setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }public static void main(String[] args) {// 创建GUI窗体实例并显示MyGUIApp app = new MyGUIApp();app.setVisible(true);}}```通过继承JFrame类并实现自定义的构造方法,可以创建一个简单的GUI窗体。
在main方法中创建实例并通过setVisible方法显示出来。
5. 添加组件GUI应用程序不仅仅只有一个窗体,还需要添加各种组件(如按钮、文本框、标签等)来交互和展示数据。
实验十 JavaGUI设计实验

实验十 Java GUI设计实验1一、实验目的了解图形用户界面基本组件的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制二、实验仪器1.微机一台三、实验原理Java语言图形用户界面方面的基础知识四、实验内容与步骤1 要求(1)了解Java Swing组件的使用方法,掌握容器中添加组件的方法,使用布局管理器对组件进行管理(2)理解Java的事件处理机制,掌握为不同组件编写事件处理程序的方法。
2 内容2.1创建图形用户界面和事件处理机制1.在屏幕中央显示一个空的框架。
2.单击按钮的事件处理程序. 程序功能:为按钮编写单击事件处理方法。
3.文本框的焦点事件处理程序。
分析下面程序功能。
4. .编写一个图形界面应用程序,其中包含一个按钮。
当鼠标移到按钮上时,隐藏按钮;当鼠标离开按钮时,显示按钮。
(知识点考察:设置监听器,进行事件处理)5.设计一个程序在窗口的东南西北中各放置一按钮,水平和垂直间据均为6。
6 编写下图所示的计算器界面:将16个按钮放置在面板中(面板的布局为4*4的GridLayout 布局),再将面板放置在框架中的中间(框架布局为缺省布局BorderLayout)。
(考察知识点:框架面板的定制,在框架中添加面板,使用BorderLayout和GridLayout 布局)7.定义如下界面,分别在两个文本框中输入整数,当点击run按钮时把这两个整数数的和在第三个文本框中显示出来,当点击restart时把三个文本框的内容都清空开始新一轮的运算。
五、实验报告要求写出2.1中2,7中的程序六、思考题1. 写出 java GUI程序设计的一般流程。
2.AWT与Swing组件的关系和特点。
《JavaGUI程序设计》课件

Java GUI进阶主题
使用Swing工具箱
使用Swing工具箱的可视化设计器,可快速创建GUI应用程序界面。
绘图和动画
Java GUI提供了丰富的绘图和动画库,可用于开发游戏和交互式多媒体应用程序。
多线程编程
Java GUI应用程序通常需要响应用户输入和处理常规任务,使用多线程技术可提高应用程序的响应速度。
JavaFX是Java平台的下一代用户界面工具包,提供了现代UI设计和高性能渲染能 力。
2
Java应用程序开发的未来
GUI应用程序开发将朝向更加智能、高效、多样化和灵活性等方向发展。
3
总结
Java GUI编程涵盖了广泛的主题,包括基础知识、高级编程、布局管理、应用程 序实例,进阶主题等。学好Java GUI编程对于开发人员而言具有极大的价值。
Java Swing是一个跨平台的用户界面库,于1997年发布。它是Java语言创新的产物。
3 为什么需要Java GUI编程
Java的可移植性、易于使用的UI组件和布局管理器,使得Java GUI应用程序适用于各种平 台和设备。
Java GUI基础知识
Java Swing库介绍
Swing是Java的用户界面(UI) 工具包,是Java Foundation Classes (JFC) 的一部分。Swing 包括各种UI组件,如窗口、标 签、按钮和滚动条。
常用组件介绍
常用的UI组件包括文本框、复 选框、单选按钮、列表框、下 拉列表框等。
容器介绍
容器是Swing面板的父类,用于 容纳其他组件,如框架、面板 和对话框。
Java GUI高级编程
事件驱动模型
基于事件-监听器设计模型,允许 程序响应用户输入。
Java由浅入深GUI编程实战练习

Java由浅⼊深GUI编程实战练习项⽬简介:1.实现利⽤下拉菜单的⽅式选择发送快捷语句;2.实现对留⾔信息内容的置顶处理以及⾄尾处理;3.实现清屏处理或现实保留部分留⾔内容;运⾏界⾯:代码展⽰:import java.awt.BorderLayout;import java.awt.Button;import java.awt.Choice;import java.awt.Frame;import java.awt.GridLayout;import bel;import java.awt.Panel;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class Demo4 {// 测试public static void main(String[] args) {MessageBoard mb = new MessageBoard();mb.go();}}class MessageBoard {Frame f;WindowAdapter w;TextArea center;Label la1, la2, la3;Panel east, south, north;Button b1, b2, b3, b4;Choice l1;TextField t1;// 构造函数MessageBoard() {f = new Frame("留⾔板");f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent evt) {f.setVisible(false);System.exit(0);}});f.setBounds(0, 0, 600, 400);f.setLayout(new BorderLayout());f.setResizable(false);north = new Panel();south = new Panel();east = new Panel();center = new TextArea("留⾔内容:");center.setEditable(false);b1 = new Button("清屏");b2 = new Button("⾄顶");b3 = new Button("⾄尾");la1 = new Label("留⾔版");la2 = new Label("你");la3 = new Label(" 地说:");t1 = new TextField(20);b4 = new Button("提交");l1 = new Choice();l1.add("微笑 ");l1.add("⽣⽓ ");l1.add("伤⼼ ");}public void go() {f.add(BorderLayout.NORTH, north);f.add(BorderLayout.SOUTH, south);f.add(BorderLayout.EAST, east);f.add(BorderLayout.CENTER, center);north.add(BorderLayout.CENTER, la1);south.add(la2);south.add(l1);south.add(la3);south.add(t1);south.add(b4);east.setLayout(new GridLayout(9, 0, 1, 10));east.add(b1);east.add(b2);east.add(b3);f.setVisible(true);b4.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String text1, text2;text1 = l1.getSelectedItem();text2 = t1.getText();t1.setText(null);if (t1.getText() != "") {center.append("\n");center.append(text1);center.append(text2);}}});b1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {center.setText("留⾔内容:");}});b2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {center.requestFocusInWindow();center.setCaretPosition(8);}});b3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {center.requestFocusInWindow();center.setCaretPosition(center.getText().length());}});}}⼀,项⽬简介1.利⽤Java GUI 绘制图像界⾯,设置整体布局2.编写⼀个随机数⽣成1~100的随机数3.编写⼀个验证类,⽤于验证⽤户输⼊值与⽣成随机数是否相等并记录⽤户猜测次数,当⽤户猜测成功或者超过5次结束游戏⼆,运⾏界⾯三,代码实现import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Demo5 extends JFrame implements ActionListener {JPanel p1;JButton btn1, btn2;JLabel jb1, jb2, jb3;JLabel Haiamge;JTextField text;JTextArea area;ImageIcon image;ImageIcon image1 = new ImageIcon("img/1.jpg"), image2 = new ImageIcon("img/2.jpg"), image3 = new ImageIcon("img/3.jpg"), image4 = new ImageIcon("img/4.gif");int number;boolean flat = false;// 是否⽣成随机数// 构造函数public Demo5() {setTitle("我的猜字游戏");setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);setResizable(false);setLayout(null);// 先设置为null,不然不显⽰setSize(400, 300);setLocation(30, 30);getContentPane().setBackground(Color.GRAY);// ⼀定要加getContentPanep1 = new JPanel();p1.setBackground(Color.LIGHT_GRAY);p1.setBounds(0, 0, 320, 100);p1.setLayout(null);add(p1);btn1 = new JButton("⽣成随机数");btn1.setBounds(200, 20, 100, 25);btn1.addActionListener(this);p1.add(btn1);btn2 = new JButton("确定");btn2.setBounds(200, 50, 100, 25);btn2.addActionListener(this);p1.add(btn2);jb1 = new JLabel("选择⼀个随机数");jb1.setForeground(Color.BLUE);jb1.setBounds(40, 20, 110, 23);p1.add(jb1);jb2 = new JLabel("然后输⼊推测数字(1~100)");jb2.setForeground(Color.BLUE);jb2.setBounds(20, 35, 150, 23);p1.add(jb2);text = new JTextField("0");text.setForeground(Color.magenta);text.setBounds(40, 60, 110, 23);p1.add(text);jb3 = new JLabel("未⽣成随机数");jb3.setForeground(Color.red);jb3.setBackground(Color.gray);jb3.setBounds(20, 160, 120, 23);add(jb3);area = new JTextArea("我猜!我猜!我猜猜猜!");area.setForeground(Color.green);area.setBackground(Color.gray);area.setFont(new Font("宋体", Font.BOLD, 13));area.setEditable(false);area.setBounds(20, 130, 150, 25);add(area);Haiamge = new JLabel();Haiamge.setBounds(180, 101, 128, 128);add(Haiamge);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getSource() == btn1) {number = (int) (Math.random() * 10) + 1;jb3.setText("已⽣成随机数");area.setText("猜");Haiamge.setIcon(image2);flat = true;// ⽣成随机数} else if (e.getSource() == btn2) {int guess = 0;try {guess = Integer.parseInt(text.getText());if (flat == false) {area.setText("失败");return;} else {if (guess == number) {area.setText(" 猜对了!就是" + number);flat = false;jb3.setText("未⽣成随机数");Haiamge.setIcon(image1);} else if (guess > number) {area.setText(" 猜⼤了!");text.setText(null);Haiamge.setIcon(image3);} else if (guess < number) {area.setText("猜⼩了!");text.setText(null);Haiamge.setIcon(image4);}}} catch (NumberFormatException event) {event.printStackTrace();}}}public static void main(String[] args) {Demo5 dem = new Demo5();dem.setVisible(true);}}补充我的注意事项:⼀,項⽬介紹1.可以查看年,⽉,⽇等功能。
如何使用Java编写GUI界面程序

如何使用Java编写GUI界面程序第一章:介绍Java GUI编程Java GUI(图形用户界面)编程是使用Java语言创建可视化应用程序的方法。
它可以通过使用Java提供的GUI库或框架来实现。
Java GUI编程提供了丰富的工具和组件,使得开发人员可以轻松创建具有丰富功能和交互性的用户界面。
第二章:设置开发环境在开始编写Java GUI程序之前,确保已经安装了Java Development Kit(JDK)和集成开发环境(IDE),如Eclipse或IntelliJ IDEA。
确保配置正确的Java运行时环境(JRE)。
第三章:了解Swing框架Java Swing是Java中最常用的GUI框架之一。
它提供了一系列强大的组件,如按钮、文本框、标签、列表和表格等,可以用于构建GUI界面。
熟悉Swing框架的API和使用方法是编写Java GUI程序的关键。
第四章:编写GUI界面使用Swing框架编写GUI界面时,通常需要创建一个顶层容器,如JFrame或JDialog。
然后,在容器中添加各种组件,如按钮、文本框和标签等。
可以使用布局管理器来控制组件的位置和大小。
还可以为组件添加事件处理程序以实现交互。
第五章:布局管理器布局管理器是用于控制组件在容器中的布局和排列的工具。
Java提供了几种布局管理器,如FlowLayout、BorderLayout和GridLayout等。
了解每种布局管理器的特点和用法,选择适合需求的布局管理器来创建用户界面。
第六章:事件处理Java GUI程序需要对用户的操作进行响应,并执行相应的操作。
可以使用事件处理机制来实现这一功能。
在Swing框架中,事件是通过添加监听器来处理的。
通过为组件添加适当的监听器,可以捕获和处理用户触发的事件。
第七章:图形和绘图Java GUI编程不仅限于简单的组件和布局,还可以通过绘图和图形操作来实现更复杂的效果。
Java提供了各种绘图相关的类和方法,如Graphics和Graphics2D等,可以在组件上绘制形状、图像和文本等。
Java_GUI程序设计综合实验

1.复习以前的课程内容。
2.继续熟练Java用户界面编程。
3.提高自己对综合程序编程的能力。
二、实验内容1.在一个窗口中创建多个菜单并添加进实验编号。
2.分别对应每个菜单项中的实验项目编写程序。
3.在窗口中显示出运行结果。
三、源程序及运行结果Zhonghe1.javapublic class Zhonghe1{public static void main(String args[]){WindowMain win=new WindowMain();win.setTitle("综合设计");}}WindowMain.javaimportjava.awt.*;importjavax.swing.*;import static javax.swing.JFrame.*;importjava.awt.event.*;importjava.util.*;public class WindowMain extends JFrame implements ActionListener{ Box baseBox,boxV1;JMenuBarmenubar;JMenu menu1,menu2,menu3,menu4,menu5;JMenuItem item1,item2,item3,item4;JMenuItem item11;JMenuItem item31,item32;JMenuItem item41,item42;JMenuItem item51,item52;JTextArea text;publicWindowMain(){//setLayout(new BoxLayout());init();setBounds(100,100,650,350);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}voidinit(){//setLayout(new java.awt.FlowLayout());setLayout(new FlowLayout());//boxV1=Box.createV erticalBox();menubar=new JMenuBar();menu1=new JMenu("实验一");menu2=new JMenu("实验二");menu3=new JMenu("实验三");menu4=new JMenu("实验四");menu5=new JMenu("实验五");item1=new JMenuItem("求阶乘");item2=new JMenuItem("100以内素数");item3=new JMenuItem("while,for循环");item4=new JMenuItem("1000以内完数");item11=new JMenuItem("复数运算");item31=new JMenuItem("打印字母表");item32=new JMenuItem("最大公约数和最小公倍数"); item41=new JMenuItem("字符串连接");item42=new JMenuItem("得到字符");item51=new JMenuItem("计算");item52=new JMenuItem("计算器");item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);item11.addActionListener(this);item31.addActionListener(this);item32.addActionListener(this);item41.addActionListener(this);item42.addActionListener(this);item51.addActionListener(this);item52.addActionListener(this);text=new JTextArea(12,55);add(new JScrollPane(text),BorderLayout.CENTER); add(text);//boxV1.add(text);menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu2.add(item11);menu3.add(item31);menu3.add(item32);menu4.add(item41);menu4.add(item42);menu5.add(item51);menu5.add(item52);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);menubar.add(menu4);menubar.add(menu5);setJMenuBar(menubar);//baseBox=Box.createHorizontalBox();//baseBox.add(boxV1);//add(baseBox);}public class WindowGY extends JFrame implements ActionListener{ JTextField text1,text2,text3,text4;publicWindowGY(){init1();setBounds(100,100,350,150);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}void init1(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);//text1.addActionListener(this);text2.addActionListener(this);add(text1);add(text2);text3=new JTextField(10);text4=new JTextField(10);add(text3);add(text4);}public void actionPerformed(ActionEvent e){String str1=text1.getText();String str2=text2.getText();int n=0,m=0,j=0,k=0;try{n=Integer.parseInt(str1);m=Integer.parseInt(str2);for(int i=1;i<=n;i++){if(0==n%i&&0==m%i)j=i;}k=n*m/j;text3.setText("最大公约数为:"+j);text4.setText("最小公倍数为:"+k);}catch(Exception ee){text3.setText("请输入数字字符");text1.setText(null);text2.setText(null);}}}public class WindowCount extends JFrame implements ActionListener{ JTextField text1,text2;JButton enter;publicWindowCount(){init();setBounds(100,100,350,150);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}voidinit(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(15);add(text1);add(text2);enter=new JButton("确定");enter.addActionListener(this);add(enter);}public void actionPerformed(ActionEvent e){String str=text1.getText();StringTokenizerfenxi=new StringTokenizer(str);int number=fenxi.countTokens();int sum=0,n=0;while(fenxi.hasMoreTokens()){str=fenxi.nextToken();int m=Integer.parseInt(str);sum+=m;n++;}text2.setText("和为:"+sum+"平均数为:"+(double)sum/n);}}public class WindowCount1 extends JFrame implements ActionListener{ JTextField text1,text2,text3;JButtonadd,subtract,ride,remove;public WindowCount1(){init();setBounds(100,100,350,150);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}voidinit(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);add(text1);add(text2);add(text3);add=new JButton("加");subtract=new JButton("减");ride=new JButton("乘");remove=new JButton("除");add.addActionListener(this);ride.addActionListener(this);subtract.addActionListener(this);remove.addActionListener(this);add(add);add(subtract);add(ride);add(remove);}public void actionPerformed(ActionEvent e){if(e.getSource()==add){String str1=text1.getText();String str2=text2.getText();int n=0,m=0,k=0;try{n=Integer.parseInt(str1);m=Integer.parseInt(str2);k=n+m;text3.setText(""+k);}catch(Exception ee){text3.setText("请输入数字字符");text1.setText(null);text2.setText(null);}}if(e.getSource()==subtract){String str1=text1.getText();String str2=text2.getText();int n=0,m=0,k=0;try{n=Integer.parseInt(str1);m=Integer.parseInt(str2);k=n-m;text3.setText(""+k);}catch(Exception ee){text3.setText("请输入数字字符");text1.setText(null);text2.setText(null);}}if(e.getSource()==ride){String str1=text1.getText();String str2=text2.getText();int n=0,m=0,k=0;try{n=Integer.parseInt(str1);m=Integer.parseInt(str2);k=n*m;text3.setText(""+k);}catch(Exception ee){text3.setText("请输入数字字符");text1.setText(null);text2.setText(null);}}if(e.getSource()==remove){String str1=text1.getText();String str2=text2.getText();int n=0,m=0;double k=0,p,q;try{n=Integer.parseInt(str1);m=Integer.parseInt(str2);p=(double)n;q=(double)m;k=p/q;text3.setText(""+k);}catch(Exception ee){text3.setText("请输入数字字符");text1.setText(null);text2.setText(null);}}}}public void actionPerformed(ActionEvent e){ text.setText(null);if(e.getSource()==item1){int sum=0;for(int i=1;i<=20;i++){int m=1;for(int j=1;j<=i;j++){m=m*j;}sum+=m;}text.append("1!+2!+...+20!="+sum);//new WindowCount();//setVisible(true);}if(e.getSource()==item2){text.setText(null);int n=1,m,j,i;boolean h;text.append(2+" ");for(i=3;i<100;i=i+2){m=(int)Math.sqrt(i);h=true;for(j=2;j<=m;j++){if(i%j==0){h=false;break;}}if(h){if(n%6==0){text.append(" ");}text.append(i+" ");n++;}}}if(e.getSource()==item3){text.setText(null);double sum=0;double item=1;int i;int n=20;for(i=1;i<=n;i++){sum=sum+item;item=item*(1.0/(i+1));}text.append("for循环sum="+sum+"\n");double sum1=0,item1=1;int j=1,m=20;while(j<=m){sum1=sum1+item1;j=j+1;item1=item1*(1.0/j);}text.append("while循环sum="+sum1);}if(e.getSource()==item4){text.setText(null);int n=1000;text.append("1000以内的完数有:");for(int i=1;i<=n;i++){int sum=0;for(int counter=1;counter<=i/2;counter++){if(i%counter==0){sum+=counter;}}if(sum==i){text.append("\n"+i);}}}if(e.getSource()==item11){classFuShu {private double Shishu;private double Xushu;publicFuShu(){this.Shishu=0.0f;this.Xushu=0.0f;} ////构造方法1publicFuShu(double s,double x){this.Shishu=s;this.Xushu=x;} //构造方法2public FuShu add(FuShu p){ //两个复数相加FuShu result=new FuShu();result.Shishu=this.Shishu+p.Shishu;result.Xushu=this.Xushu+p.Xushu;text.append("在成员函数中,两数相加之和为:result="+result.Shishu+"+"+result.Xushu+"i"+"\n");return result;}public FuShu sub(FuShu p){ //两个复数相减FuShu result=new FuShu();result.Shishu=this.Shishu-p.Shishu;result.Xushu=this.Xushu-p.Xushu;text.append("在成员函数中,两数相减之差为:result="+result.Shishu+"+"+result.Xushu+"i"+"\n");return result;}public FuShumul(FuShu p){ //两个复数相乘FuShu result=new FuShu();result.Shishu=this.Shishu*p.Shishu-this.Xushu*p.Xushu;result.Xushu=this.Xushu*p.Shishu+p.Xushu*this.Shishu;text.append("在成员函数中,两数相乘之积为:result="+result.Shishu+"+"+result.Xushu+"i"+"\n");return result;}public FuShu div(FuShu p){ //两个复数相除FuShu result=new FuShu(2,2);if(p.Shishu==0&&p.Xushu==0){ //除数为零text.append("除法运算出错,错误原因:除数为零");return null;}else if(p.Shishu==0&&p.Xushu!=0){result.Shishu=(double)this.Xushu*p.Xushu/(p.Xushu*p.Xushu);result.Xushu=(-1)*(double)this.Shishu*p.Xushu/(p.Xushu*p.Xushu);return result;}//仅有虚部为零else if(p.Shishu!=0&&p.Xushu==0){result.Shishu=(double)this.Shishu/p.Shishu;result.Xushu=(double)this.Xushu/p.Shishu;return result;}//实部与虚部均不为零else{result.Shishu=(double)(this.Shishu*p.Shishu-this.Xushu*p.Xushu)/(p.Shishu*p.Shishu+p.Xu shu*p.Xushu);result.Xushu=(double)(this.Shishu*p.Xushu+this.Xushu*p.Shishu)/(p.Shishu*p.Shishu+p.Xu shu*p.Xushu);return result;}}}FuShu a=new FuShu(3,4);FuShu b=new FuShu(5,7);FuShu c=new FuShu();FuShu ADD=a.add(b);FuShu SUB=a.sub(b);FuShu MUL=a.mul(b);FuShu DIV=a.div(c);if(DIV==null)text.append("除数不能为零");elsetext.append("在主函数中:两数相除之商为"+DIV.Shishu+"+"+DIV.Xushu+"i");}if(e.getSource()==item31){class A{charch='a';char ch1='z';int m=(int)ch;int n=(int)ch1;void f(){for(int i=m;i<=n;i++){char ch2=(char)i;text.append(ch2+" ");}}}class B extends A{char GL='α';char GL1='ω';int p=(int)GL;int q=(int)GL1;void g(){for(int j=p;j<=q;j++){char GL2=(char)j;text.append(GL2+" ");}}}B a=new B();text.append("英文字母为:");a.f();text.append("\n");text.append("希腊字母为:");a.g();text.append("\n");}if(e.getSource()==item32){newWindowGY();setVisible(true);}if(e.getSource()==item41){String s1,s2,s3,s4;s1=new String("we are student ");s2=new String("WHA T IS THA T");s3=s1.toUpperCase();s4=s2.toLowerCase();text.append(s1+"转化为大写字母为:"+s3+"\n");text.append(s2+"转化为小写字母为"+s4+"\n");text.append(s1.concat(s4));}if(e.getSource()==item42){String str;str=new String("we need study hard");int a=str.length();text.append("该字符串的长度为:"+a+"\n");text.append("该字符串的第一个字符为:"+str.charAt(0)+"\n");text.append("该字符串的最后一个字符为:"+str.charAt(str.length()-1)+"\n");}if(e.getSource()==item51){newWindowCount();setVisible(true);}if(e.getSource()==item52){new WindowCount1();setVisible(true);}}}四、实验结论与思考通过这次的综合设计使我对Java的综合应用有了更加深入地了解,并且也让我得到了更好的复习,也让我深知在学习的同时也要注重对以往知识的复习,因为只有通过不断的复习才能够让我把知识掌握得更牢固。
gui编程练习题

gui编程练习题GUI(Graphical User Interface,图形用户界面)是计算机操作系统中的一种人机交互技术,通过图形化的方式展示信息并提供操作界面。
在软件开发中,GUI编程是一项重要的技能,能够帮助开发者创建各种界面丰富、功能强大的应用程序。
本文将介绍一些GUI编程练习题,帮助读者提升自己的GUI编程能力。
1. 创建一个简单的窗口应用程序这个练习题是GUI编程的入门练习,要求读者创建一个简单的窗口应用程序,并在窗口中显示一段文本。
读者可以使用任何GUI编程语言和工具来完成这个练习。
2. 实现一个计算器应用程序这个练习题要求读者实现一个简单的计算器应用程序。
该应用程序应该能够接收用户的输入,并进行加、减、乘、除等基本的四则运算。
用户可以通过点击按钮或输入文本来进行计算。
3. 制作一个简单的文件浏览器这个练习题要求读者制作一个简单的文件浏览器应用程序。
该应用程序应该能够显示计算机上的文件和文件夹,用户可以通过点击不同的文件和文件夹来进行打开、复制、删除等操作。
4. 设计一个图像编辑器这个练习题要求读者设计一个图像编辑器应用程序。
该应用程序应该能够加载、编辑和保存图像文件,并提供一些基本的图像处理功能,比如裁剪、旋转、调整亮度等。
5. 开发一个简单的音乐播放器这个练习题要求读者开发一个简单的音乐播放器应用程序。
该应用程序应该能够加载和播放音乐文件,并提供基本的音乐播放控制,比如播放、暂停、停止等。
通过完成以上的GUI编程练习题,读者可以熟悉GUI编程的基本知识和技巧,并且提升自己的GUI编程能力。
在实际的软件开发中,GUI编程是一项非常重要的技能,掌握GUI编程可以帮助开发者创建出吸引人、易于使用的应用程序,提升用户体验。
因此,我鼓励读者多进行GUI编程的练习和实践,不断提升自己的技能水平。
java GUI程序设计

Color Font JApplet JFrame JDialog
1. 组件及层次
• Java把Component类的子类或间接 把 类的子类或间接
子类创建的对象称为一个组件。 子类创建的对象称为一个组件。 组件 • 把Container的子类或间接子类创建的 的子类或间接子类创建的 对象称为一个容器 容器。 对象称为一个容器。 • AWT中的大部分类都是容器类 中的大部分类都是容器类 中的大部分类都是 (Container)和组件类 ) (Component)的子类或间接子类。 的子类或间接子类。 的子类或间接子类
1. 组件及层次
AWTEvent Color Object Component
FontMetrics
Panel
Applet
JApplet
Container
Window
Frame Dialog
JFrame JDialog
Graphics Font JComponent
图7.1 Java GUI所用类的层次结构图
§7.1 图形用户界面概述
• 由于 由于Swing组件比 组件比AWT组件有许多优点,所 组件有许多优点, 组件比 组件有许多优点 以新开发的程序应该使用Swing组件而不应 以新开发的程序应该使用 组件而不应 该再使用AWT组件。 组件。 该再使用 组件 • Swing组件并没有完全取代 组件并没有完全取代AWT,它只是替 组件并没有完全取代 , 代了AWT包中的图形用户界面组件(如 包中的图形用户界面组件( 代了 包中的图形用户界面组件 Button、TextField、TextArea等), 、 、 等),AWT 中的一些辅助类( 中的一些辅助类(如Graphics、Color、 、 、 Font、LayoutManager等)仍然保持不变。 、 等 仍然保持不变。 另外, 仍然使用AWT的事件模型。 的事件模型。 另外,Swing仍然使用 仍然使用 的事件模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(总分70)1.(分值:1.4分)以下不属于文字字型要素的是A:颜色B:字体C:风格D:字号2.(分值:1.4分)Java代码g.drawLine(100,100,100,100)的功能是A:画一个圆B:画一条线段C:画一个点D:代码是错误的3.(分值:1.4分)能处理鼠标拖动和移动两种事件的接口是A:ActionListenerB:ItemListenerC:MouseListenerD:MouseMotionListener4.(分值:1.4分)Java语言的图像处理功能所在的类是A:PictureB:ImageC:pictureD:image5.(分值:1.4分)当启动Applet程序时,首先调用的方法是A:stop()B:init()C:start()D:destroy()6.(分值:1.4分)在Java程序中定义一个类,类中有一个没有访问权限修饰的方法,则此方法A:类外的任何方法都能访问它B:类外的任何方法都不能访问它C:类的子类和同包类能访问它D:只有类和同包类才能访问它7.(分值:1.4分)在Java中,有关菜单的叙述错误的是A:下拉式菜单通过出现在菜单条上的名字来可视化表示B:菜单条通常出现在JFrame的顶部C:菜单中的菜单项不能再是一个菜单D:每个菜单可以有许多菜单项8.(分值:1.4分)在Java Applet程序中,如果对发生的事件做出响应和处理的时候,应该使用的语句是()A:import java.awt.*;B:import java.applet.*;C:import java.awt.event.*;D:import java.io.*;9.(分值:1.4分)在Java中,线程的调度策略采用A:分时式B:抢占式C:非分时式D:非抢占式10.(分值:1.4分)包含当事件发生时从源传递给监视器的特定事件信息的对象是()A:事件对象B:源对象C:监视器对象D:接口11.(分值:1.4分)在Java中,获取选择框是否被选中的方法是()A:getSelect()B:getSelected()C:isSelect()D:isSelected()12.(分值:1.4分)要为程序中的按钮button设置一个热键alt+A,可以采用的代码是()A:button.setMnemonic()B:button.setMnemonic("alt+A")C:button.setToolTipText(A)D:button.setToolTipText("alt+A")13.(分值:1.4分)在Java中,设置字型应使用Graphics的()方法。
A:setfont(Font font)B:setFont(Font font)C:Font(String fontname,int style,int size)D:font(String fontname,int style,int size)14.(分值:1.4分)列表事件的事件源有两种,其中之一是单击列表中的选项,则与单击选项事件相关的接口是()A:ActionListenerB:ListSelectionEventC:ListSelectionListenerD:addListSelectionListener15.(分值:1.4分)在以下供选择的方法中,属于接口MouseMotionListener的方法是() A:mouseReleased()B:mouseEntered()C:mouseExited()D:mouseMoved()16.(分值:1.4分)小程序要播放音频文件,可使用类()A:AudioB:JAudioC:AudioClipD:JAudioClip17.(分值:1.4分)()布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
A:FlowLayoutB:BorderLayoutC:GridLayoutD:CardLayout18.(分值:1.4分)在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的(??)方法来完成一些画图操作。
???A:start()B:stop()C:init()D:paint()19.(分值:1.4分)关于Applet和Application,下列说法错误的是()A:Applet自身不能运行B:Applet可以嵌在Application中运行C:Application以main()方法为入口D:Applet可嵌在浏览器中运行20.(分值:1.4分)在Applet中画图、画图像、显示字符串用到的方法是()A:paint()B:init()C:stop()D:draw()21.(分值:1.4分)编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(??)。
A:.javaB:.classC:.html?D:.exe22.(分值:1.4分)Graphics类中提供的绘图方法分为两类:一类是绘制图形,另一类是绘制()A:屏幕B:文本C:颜色D:图像23.(分值:1.4分)下列不属于Applet编写步骤的是()A:引入需要的包和类B:定义一个Applet类的子类C:实现Applet类的某些方法D:加密Applet程序24.(分值:1.4分)要在一个单一的类文件中创建既可以用作Java Applet,又可以用作Java 应用程序的Java软件代码。
下面说法错误的是()A:作为Application要定义main()方法,并且把main()方法所在的类定义为一个public类B:为使该程序成为一个Applet,main()方法所在的这个public类必须继承Applet类或者Lapplet类C:在该类中可以像普通Applet类一样重写Applet类的init(),start(),paint()等方法D:转换后的程序只能在浏览器中加载执行,而不能在Appletviewer中执行。
25.(分值:1.4分)关于Applet和Application,下列说法错误的是()A:是java的两种应用程序形式B:Applet可以用Appletviewer或者浏览器加载执行C:Applet不能利用java解释器从命令行启动运行D:Applet和Application程序入口不一样26.(分值:1.4分)java中用来抛出异常的关键字是A:tryB:catchC:throwD:finally27.(分值:1.4分)关于异常,下列说法正确的是A:异常是一种对象B:一旦程序运行,异常将被创建C:为了保证程序运行速度,要尽量避免异常控制D:以上说法都不对28.(分值:1.4分)()类是所有异常类的父类。
A:ThrowableB:ErrorC:ExceptionD:AWTError29.(分值:1.4分)java语言中,下列哪一子句是异常处理的出口A:try{…}子句B:catch{…}子句C:finally{…}子句D:以上说法都不对30.(分值:1.4分)Window是宣示屏上独立的本机窗口,它独立于其它容器,Window的两种形式是()A:Frame和DialogB:Panel和FrameC:Container和ComponentD:LayoutManager和Container31.(分值:1.4分)框架(Frame)的缺省布局管理器就是()A:流程布局(Flow Layout)B:卡布局(Card Layout)C:边框布局(Border Layout)D:网格布局(Grid Layout)32.(分值:1.4分)有整型数组:int[]x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是().A:2781235B:1235872C:3512872D:871235233.(分值:1.4分)java.awt包提供了基本的java程序的GUI设计工具,包含控件、容器和()A:布局管理器B:数据传送器C:图形和图像工具D:用户界面构件34.(分值:1.4分)事件处理机制能够让图形界面响应用户的操作,主要包括()A:事件B:事件处理C:事件源D:以上都是35.(分值:1.4分)下列不属于java.event包中定义的事件适配器的是()A:构件适配器B:焦点适配器C:键盘适配器D:标签适配器36.(分值:1.4分)下面哪个表达式可用得到x和y的最大值()?A:x>y?y:xB:x<y?y:xC:x>y?(x+y):(x-y)D:x==y?y:x;37.(分值:1.4分)在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?()??A:ActionListenerB:MouseListenerC:MouseMotionListern??D:ItemListener38.(分值:1.4分)MouseListener接口不能处理的鼠标事件是A:按下鼠标左键B:点击鼠标右键C:鼠标进入D:鼠标移动39.(分值:1.4分)下列说法哪个是正确的?()A:BorderLayout是面板的缺省布局管理器B:当鼠标指针位于一个GUI组件的边上时,发生一个MouseOver事件C:一个面板(Jpanel)?不能被加入到另一个面板(Jpanel)中D:在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
40.(分值:1.4分)FlowLayout布局管理器按照组件加入容器的次序从()到()排列组件。
A:上、下B:右、左C:左、右D:前、后41.(分值:1.4分)在Java中,要处理Button类对象的事件,以下各项中,哪个是可以处理这个事件的接口?()A:FocusListenerB:ComponentListenerC:WindowListenerD:ActionListener42.(分值:1.4分)下列哪项不是AWT组件?()A:CanvasB:ScrollbarC:TableD:List43.(分值:1.4分)下列那种java组件作为容器组件()A:List列表框B:Choice下拉式列表框C:Panel面板D:MenuItem命令式菜单项44.(分值:1.4分)使用哪一个布局管理器,当Frame的大小被改变时Frame中的按钮的位置可能会被改变?()A:BorderLayoutB:FlowLayoutC:CardLayoutD:GridLayout45.(分值:1.4分)对java中的Button类按钮对象进行鼠标点击事件编程,该事件监听程序应实现如下哪种接口?()A:ActionListener接口B:MouseMotionListener接口C:ItemListener接口D:WindowListener接口46.(分值:1.4分)容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?()A:CardLayoutB:FlowLayoutC:BorderLayoutD:GridLayout47.(分值:1.4分)事件监听接口中的方法的返回值?()A:intB:longC:voidD:AWTEvent48.(分值:1.4分)如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()A:p.add(b);B:p.add(b,"North");C:p.add(b,"South");D:b.add(p,"North");49.(分值:1.4分)Frame对象默认的布局管理器是()A:FlowLayoutB:BorderLayoutC:CardLayoutD:null50.(分值:1.4分)容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?A:CardLayoutB:FlowLayoutC:BorderLayoutD:GridLayout二、填空题(总分30)1.(分值:0.7)在Java程序中,设置文本区对象textA能自动换行的方法是:textA.setLineWrap(true)。