实验九:Java图形用户界面设计(1)
java用户图形界面课程设计

java用户图形界面课程设计一、课程目标知识目标:1. 学生能理解Java图形用户界面(GUI)的基本原理和设计方法;2. 学生能掌握Swing组件库的使用,包括常用组件的创建和布局管理;3. 学生能运用事件处理机制,编写响应鼠标和键盘事件的程序;4. 学生了解Java多线程在GUI编程中的应用。
技能目标:1. 学生能够运用Swing组件和布局管理器设计出结构清晰、界面友好的图形用户界面;2. 学生能够独立编写事件监听器,实现用户与程序的交互;3. 学生能够利用多线程技术优化GUI程序,提高程序响应速度。
情感态度价值观目标:1. 培养学生对Java编程的兴趣和热情,激发他们探索新技术的欲望;2. 培养学生面对问题积极思考、勇于创新的精神,增强他们解决问题的自信心;3. 培养学生团队合作意识,提高沟通与协作能力。
本课程针对高年级学生,在学生已掌握Java基本语法和面向对象编程的基础上,进一步学习图形用户界面设计。
课程性质为实践性较强的学科,注重培养学生的实际操作能力和编程思维。
教学要求强调理论与实践相结合,鼓励学生动手实践,培养他们解决实际问题的能力。
通过本课程的学习,学生将能够独立设计并实现具有良好用户交互性的Java图形用户界面程序。
二、教学内容1. Java图形用户界面基础- Swing组件库介绍- 常用组件的使用(如JButton、JTextField、JLabel等)- 布局管理器(如BorderLayout、FlowLayout、GridLayout等)2. 事件处理机制- 事件和事件监听器- 常用事件类型(如鼠标事件、键盘事件等)- 事件适配器和内部类3. 多线程与GUI编程- 多线程概念与原理- 线程的创建与控制- GUI程序中的线程同步4. 实践项目- 设计并实现一个简单的计算器程序- 制作一个简易的画图工具- 开发一个记事本应用程序教学内容依据课程目标进行选择和组织,遵循由浅入深、循序渐进的原则。
Java图形用户界面实验报告

西安邮电大学(计算机学院)课内实验报告实验名称:图形用户界面专业名称:计算机科学与技术班级:计科1405班学生姓名:高宏伟学号:04141152指导教师:刘霞林实验日期:2016.11.24一、实验目的了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
二、实验要求1. 掌握使用布局管理器对组件进行管理的方法。
2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
3. 掌握编写独立运行的窗口界面的方法。
4. 掌握组件的使用方法。
5. 了解对话框的使用方法。
三、实验内容(一)算术测试。
✧实验要求:编写一个算术测试小软件,用来训练小学生的算术能力。
程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。
✧程序模板:Teacher.javapublic class Teacher{ int numberOne,numberTwo;String operator="";boolean right;public int giveNumberOne(int n){ numberOne=(int)(Math.random()*n)+1;return numberOne;}public int giveNumberT wo(int n){ numberTwo=(int)(Math.random()*n)+1;return numberTwo;}public String giveOperator(){ double d=Math.random();if(d>=0.5)operator="+";elseoperator="-";return operator;}public boolean getRight(int answer){ if(operator.equals("+")){ if(answer==numberOne+numberTwo)right=true;elseright=false;}else if(operator.equals("-")){ if(answer==numberOne-numberTwo)right=true;elseright=false;}return right;}}ComputerFrame.javaimport java.awt.*;import java.awt.event.*;public class ComputerFrame extends Frame implements ActionListener { TextField textOne,textTwo,textResult;Button getProblem,giveAnwser;Label operatorLabel,message;Teacher teacher;ComputerFrame(String s){ super(s);teacher=new Teacher();setLayout(new FlowLayout());textOne=【代码1】 //创建textOne,其可见字符长是10textTwo=【代码2】 //创建textTwo,其可见字符长是10textResult=【代码3】 //创建textResult,其可见字符长是10operatorLabel=new Label("+");message=new Label("你还没有回答呢");getProblem=new Button("获取题目");giveAnwser=new Button("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new Label("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);【代码4】//将当前窗口注册为getProblem的ActionEvent事件监视器【代码5】//将当前窗口注册为giveAnwser的ActionEvent事件监视器【代码6】//将当前窗口注册为textResult的ActionEvent事件监视器 setBounds(100,100,450,100);setVisible(true);validate();addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0);}});}public void actionPerformed(ActionEvent e){ if(【代码7】) //判断事件源是否是getProblem{ int number1=teacher.giveNumberOne(100);int number2=teacher.giveNumberTwo(100);String operator=teacher.givetOperator();textOne.setText(""+number1);textTwo.setText(""+number2);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}if(【代码8】) //判断事件源是否是giveAnwser{ String answer=textResult.getText();try{int result=Integer.parseInt(answer);if(teacher.getRight(result)==true){ message.setText("你回答正确");}else{ message.setText("你回答错误");}}catch(NumberFormatException ex){ message.setText("请输入数字字符");}}textResult.requestFocus();validate();}}MainClass.javapublic class MainClass{ public static void main(String args[]){ ComputerFrame frame;frame=【代码9】//创建窗口,其标题为:算术测试}}✧实验后的练习:1. 给上述程序增加测试乘、除的功能。
java图形界面实验报告1

河南工业大学实验报告专业班级: 计科F1401 学号: 姓名:实验单元八【实验目的】1.掌握程序设计方法2.掌握程序设计方法3.掌握程序设计方法4.掌握程序设计方法5、掌握使用????程序设计方法。
【实验环境】安装了jdk软件的PC机。
【实验内容】第18章、图形界面。
【程序功能内容说明】设置标签的显示字体、大小背景及颜色。
【实验程序原码】import java.awt.Dimension ;import java.awt.Color ;import java.awt.Font ;import java.awt.Point ;import javax.swing.JLabel ;import javax.swing.JFrame ;public class JLabelDemo02{public static void main(String args[]){JFrame frame = new JFrame("Welcome To MLDN") ;JLabel lab = new JLabel("MLDN",JLabel.CENTER) ; // 实例化标签对象Font fnt = new Font("Serief",Font.ITALIC + Font.BOLD,28) ;lab.setFont(fnt) ;frame.add(lab) ; // 将组件件入到面板之中Dimension dim = new Dimension() ;frame.setBackground(Color.WHITE) ;//设置窗体的背景颜色dim.setSize(200,70) ;frame.setSize(dim) ;Point point = new Point(300,200) ; // 设置坐标frame.setLocation(point) ;frame.setVisible(true) ;}};【实验结果】【该程序关键技术说明】JFrame作为基本容器用于创建窗口。
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程序设计实训教程课件项目九 图形用户界面设计

for(int i=0;i<jb.length;i++) { jb[i]=new JButton(); jb[i].setText(String.valueOf(i)); f.getContentPane().add(jb[i]); } f.setVisible(true); } }
请注意和上述awt窗体的异同点:
9.2.2 Applet程序建立及运行过程
1. 源程序的编辑与编译 2. 代码嵌入 3. Applet的运行
9.3 任务三 掌握使用Swing组件进行常用图
形界面设计
Swing组件类型很多,按功能分类如下: (1)、顶层容器:有JFrame(框架), JWindow(窗体),JDialog(对话框)
(4)、构造函数中的参数可以用于设置窗体的标题,也可 以使用setTitle()方法后设置。
(5)、添加组件的方法 add(Component),如: add(button1)。
9.1.2 java.swing包
图9-2 Swing包结构图
【例9-2】创建一个Swing窗体。
import javax.swing.*; import java.awt.*; public class exa9_2 { public static void main(String args[]) {
//创建一个带标题的窗体
JFrame jf1=new JFrame("这是窗体JFrame");
JLabel jb1=new JLabel("欢迎你");
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
jf1.setLocation(300,200); //设置窗体的显示位置
java图形用户界面实验报告

java图形用户界面实验报告Java图形用户界面实验报告一、引言图形用户界面(Graphical User Interface,简称GUI)是现代软件开发中不可或缺的一部分。
通过GUI,用户能够直观地与程序进行交互,提高了软件的易用性和用户体验。
本实验旨在通过使用Java编程语言,实现一个简单的GUI应用程序,并介绍相关的技术和方法。
二、实验目标本实验的目标是设计并实现一个简单的GUI应用程序,要求具备以下功能:1. 显示一个窗口,并在窗口中心显示一个标签;2. 在窗口中添加一个按钮,并实现按钮的点击事件;3. 当按钮被点击时,标签的文本发生变化。
三、实验过程1. 环境准备在开始实验之前,需要确保已经安装了Java开发环境(JDK)和集成开发环境(IDE),例如Eclipse或IntelliJ IDEA。
2. 创建GUI应用程序首先,创建一个Java项目,并创建一个名为"GUIApplication"的类。
在该类中,引入Java的GUI库,并继承JFrame类,实现一个窗口。
3. 设计窗口布局在窗口的构造方法中,设置窗口的标题、大小和关闭方式。
然后,创建一个JPanel对象,并将其添加到窗口中。
在JPanel中,使用布局管理器(例如FlowLayout或GridBagLayout)来安排组件的位置和大小。
4. 添加标签和按钮在JPanel中,创建一个JLabel对象,并设置其文本和位置。
然后,创建一个JButton对象,并设置其文本和点击事件。
在点击事件中,通过修改JLabel的文本来实现标签内容的变化。
5. 运行程序完成以上步骤后,编译并运行程序。
将会显示一个窗口,其中包含一个标签和一个按钮。
当按钮被点击时,标签的文本会发生变化。
四、实验结果经过以上步骤,成功实现了一个简单的GUI应用程序。
运行程序后,窗口显示如下图所示:(插入程序运行截图)在窗口中心显示了一个标签,标签的文本为"Hello, GUI!"。
Java应用开发与实践-图形用户界面设计

边界布局把整个窗口分成了5个部分,上北、下南、左西 、右东,剩下的是中部。其中,北和南是整行,而中/西 /东都不是整列。一般只会出现2个或3个部分。组件放入 时需要指定放在哪个区域,默认放在中部。每个部分只 能存放一个组件,如果存放多个就会覆盖先前放置的组 件。如果想放多个组件,必须借助面板(JPanel)。组 件在边框布局中不保持原始大小,会充满整个区域。
7.3.3 面板
1. JPanel面板 创建及使用JPanel的步骤如下: 1) 声明并创建JPanel对象。 2) 将其它组件加入到JPanel对象。 3) 将JPanel对象加入到某个容器。
JPanel类的常用构造方法有: JPanel(),创建一个JPanel对象。 JPanel(LayoutManager layout),创建JPanel对象 时指定布局layout。
7.3 容器
7.3.2 JFrame窗体
JFrame窗体是一种容器,窗体是显示为具有标题栏的 独立窗口,窗体可以用鼠标来改变大小,用JFrame类 来定义。
JFrame 类允许程序员把其他组件添加到它里面,把它 们组织起来,并把它们呈现给用户。
JFrame表面上显得很简单,实际上它是 swing 包中 最复杂的组件。为了最大程度地简化组件,在独立于 操作系统的 swing 组件与实际运行这些组件的操作系 统之间,JFrame 起着桥梁的作用。
顶层容器:JFrame,JApplet,JDialog,JWindow 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar 特殊容器:在GUI上起特殊作用的中间层,如
JinternalFrame,JlayeredPane,JrootPane。
java图形用户界面课程设计

java图形用户界面 课程设计一、课程目标知识目标:1. 让学生理解Java图形用户界面(GUI)的基本概念和原理;2. 掌握使用Swing组件构建GUI应用程序的方法;3. 学会使用事件处理机制,实现用户与程序的交互;4. 了解布局管理器的作用,并能灵活运用。
技能目标:1. 培养学生运用Java Swing组件设计并实现简单GUI界面的能力;2. 培养学生运用事件监听器处理用户交互的能力;3. 提高学生运用布局管理器进行界面布局的能力;4. 培养学生运用调试工具解决GUI程序中的问题。
情感态度价值观目标:1. 培养学生对Java GUI编程的兴趣和热情;2. 培养学生养成良好的编程习惯,注重代码规范和可读性;3. 培养学生具备团队协作精神,善于沟通交流,共同解决问题。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握Java 图形用户界面编程的基本知识和技能。
学生特点:学生已具备一定的Java基础,了解面向对象编程思想,但对GUI 编程较为陌生。
教学要求:结合学生特点,注重理论与实践相结合,通过案例教学,引导学生动手实践,提高编程能力。
同时,关注学生情感态度的培养,激发学习兴趣,培养良好的编程习惯和团队协作精神。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java GUI基本概念与原理- 界面与组件的关系- Swing组件概述- 事件处理机制2. Swing组件的使用- 常用组件:按钮、文本框、文本域、标签、菜单等- 组件的属性设置与布局3. 事件处理- 事件监听器- 常用事件类型与处理方法4. 布局管理器- 流式布局管理器- 边界布局管理器- 网格布局管理器- 盒式布局管理器5. Java GUI程序调试与优化- 代码规范与可读性- 异常处理- 调试工具的使用6. 实践项目:制作一个简单的计算器- 界面设计- 事件处理- 程序调试与优化教学内容安排与进度:第一课时:Java GUI基本概念与原理,Swing组件概述第二课时:常用Swing组件的使用及属性设置第三课时:事件处理机制与事件监听器第四课时:布局管理器的使用第五课时:实践项目:制作一个简单的计算器(上)第六课时:实践项目:制作一个简单的计算器(下),程序调试与优化本教学内容与教材相关章节紧密关联,遵循由浅入深的顺序,确保学生能够系统地掌握Java图形用户界面编程的知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验九Java图形用户界面设计(1)
一实验目的
(1)掌握Frame与面板的使用
(2)布局管理器的使用
(3)布局管理器的使用
(4)边界风格的使用
(5)掌握简单Java事件的处理
二实验内容
1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。
在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。
采用FlowLayout布局管理器。
程序:
import .*;
import .*;
public class Con1{
private JFrame f;
private JButton b1,b2,b3,b4,b5,b6,b7,b8;
public static void main(String args[]){
Con1 c=new Con1();
();
}
public void go(){
f=new JFrame("My Frame");
Container con=();
(new FlowLayout());
;
(new FlowLayout,920,50));
b1=new JButton("按键1");
b2=new JButton("按键2");
b3=new JButton("按键3");
b4=new JButton("按键4");
b5=new JButton("按键5");
b6=new JButton("按键6");
b7=new JButton("按键7");
b8=new JButton("按键8");
(b1); (b2); (b3); (b4);
(b5); (b6); (b7); (b8);
(1000,1000);
(true);
}
}
结果:
2、编写一个java程序,在程序中生成一个框架窗口,设置窗口的布局管理器为网格式布局管理器,往窗口中加入9个按钮
程序:
结果:
3、编写一个java程序,单击窗口的“关闭”按钮时退出程序,使用BorderFactory的静态方法创建边界,运行效果如下图所示:
结果:
4、构造一个Frame窗口,单击窗口的“关闭”按钮时退出程序(参考JFrame的setDefaultCloseOperation 方法);Frame中包含一个“Presss Me”按钮,单击该按钮,在控制台显示单击次数:“你已经单击按钮X次!”。
程序:
结果:
三实验总结。