实验九:Java图形用户界面设计(1)
- 格式:doc
- 大小:213.00 KB
- 文档页数:7
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. 实践项目- 设计并实现一个简单的计算器程序- 制作一个简易的画图工具- 开发一个记事本应用程序教学内容依据课程目标进行选择和组织,遵循由浅入深、循序渐进的原则。
西安邮电大学(计算机学院)课内实验报告实验名称:图形用户界面专业名称:计算机科学与技术班级:计科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. 给上述程序增加测试乘、除的功能。
河南工业大学实验报告专业班级: 计科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图形用户界面实验报告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图形用户界面 课程设计一、课程目标知识目标: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图形用户界面编程的知识。
第7 章JAVA图形用户界面设计本章学习目标一、实验目的1.了解图形用户界面基本组件窗口、常用组件的使用方法。
2.了解图形用户界面各种布局策略的设计与使用,以及如何使用Java 的事件处理机制。
二、实验要求1. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
2. 掌握编写独立运行的窗口界面的方法。
3. 了解Java AWT组件的使用方法。
4. 了解Java Swing 组件的使用方法。
5. 了解对话框的使用方法。
6. 掌握在 Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。
三、实验内容(一)创建图形用户界面1. Applet 中网格布局的使用(1)程序功能:在 Applet 容器中添加组件标签、按钮,并使用网格布局管理器。
(2)编写 LX7_1.java 程序文件,源代码如下。
import java.awt.*;import java.applet.Applet;public class LX7_1extends Applet {Label l1,l2;Button b1, b2, b3, b4, b5, b6;public void init() {setLayout(new GridLayout(2,3)); //设置网格布局b1 = new Button("red");b2 = new Button("blue");b3 = new Button("black");b4 = new Button("cyan");l1 = new Label("label 1",Label.CENTER);l2 = new Label();add(l1);add(b1);add(b2);add(b3);add(l2);add(b4);b1.setBackground(Color.red);b2.setBackground(Color.blue);b3.setBackground(Color.black);b4.setBackground(Color.cyan);b3.setForeground(Color.white);}}(3)编译程序 LX7_1.java,运行结果图 7.1所示。
实验九Java图形用户界面设计(1)实验目的(1)掌握Frame与面板的使用( 2 )布局管理器的使用( 3)布局管理器的使用( 4)边界风格的使用(5 )掌握简单Java事件的处理二实验内容1、创建并显示一个标题为“My Frame ",背景色为白色,大小为1000 x 1000的框架。
在该框架中放置八个按钮,按钮的标题分别为“按钮 1 ”、……“按钮8 ”。
采用FlowLayout 布局管理器。
程序:import java.awt.*;import javax.swing.*;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();c.go();}public void go(){f=new JFrame("My Frame");Container con=f.getContentPane(); con.setLayout(new FlowLayout());con.setBackground(Color.white);con.setLayout(new FlowLayout(FlowLayout.RIGHT,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");con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4);con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8);f.setSize(1000,1000);f.setVisible(true);} 结果:2、编写一个java程序,在程序中生成一个框架窗口,设置窗口的布局管理器为网格式布局管理器,往窗口中加入9个按钮程序:回 limport j ava. avt. *;匚 iiiport ] avax swing. *; I public class Grid{ JFrane f ;JEuttnn bl 上2上』上匚上Yb9:public static void in (String args [ ] H结果:3、编写一个java 程序,单击窗口的"关闭”按钮时退出程序, 使用BorderFactory 的静态方法创建边 界,运行效果如下图所示:1 1 1 11 111 1 12 2 2 2 2 2 2 o-3 3 3 3 3 Grxd. g-iiev GxidO, ■J JO() 白 public void qo( ){l=nev JF T 旳弐"闷桔帝局式岂瑶澤厂:Contain&T eon«! g&tCnnt&ntPani»(); aon .(nsw GridLayout (SL 3)》; JDiitton(" fe®2B J; JButtonC JButton("feg$4"): JButtonf -feWS");JEiittm ("按從6");JBllttD 冰嗓睡?叮; _____ J BiittonC'te^e"):h9-nev JFut 上onf "特惚齐): eon add (bl ) ; eon. add(b2 ) ; con add( b3) conCOB .add(b^): con .add(b8); con B add(b7);f.pock () £.sc t Size (3DO .300); L . tsislV 丄呂丄上丄巴(true) xbl-nefw b2-new bS-uew b4s new L5=newb6=n 刖 b7=new bS=new add(h4); con ” add (b8 ) ; con , sddl [ b9 ;□ fimpsx t jova. avt . «;import qavaz s^ing.*; imooz? t jsv ing … bordex?. * 丄川yur t jciVdi. leLug . Obj t?ul,Fl public eli®e herder{ J Button bl 4: El public EtsitLc void naln (String eirgs[])< boi dcr border (); b.go(): E pi.ibl ic gi d ge ( ) ■[ JFan©l p^new JPaaelf )H J Fxane £ -nctf JE XOJTLC ( * JPantel DteJira Coctaiaer con ■ i .getContent?ane(); Sordex b~ BorderFas t OTy ・ eroa t eEt ^hodBordBr []; Border tor der =EarderFactOT 7 exeateT i t ledBcnier (b … r, Ify Eorderf act orv'); p . setDardez (boz^dei-); Ll-nctr J □祇 ton J 推僞:T). h”rww JButton(d fc^2") p .cdd(bl ); p .odd(b2};匚口口 s add [ D ): f .E etgize(SlOO. 300): f.&tlVisible(true),30 313 2 结果:4、构造一个Frame 窗口,单击窗口的"关闭”按钮时退出程序(参考 JFrame 的 setDefaultCloseOperation 方法);Frame 中包含一个"Presss Me ”按钮,单击该按钮,在控制台显示单击次数:“你已经单击按钮X 次! ”。
广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2014年11月14日一、实验目的实验十图形用户界面(1)1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,·2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
实验十一图形用户界面(2)1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
二、实验器材MacBook Pro一台操作系统:OS X Yosemite\编程软件:eclipse三、实验要求实验十图形用户界面(1)1. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
2. 掌握编写独立运行的窗口界面的方法。
3. 了解Java Swing 组件的使用方法。
4. 了解对话框的使用方法。
实验十一图形用户界面(2)¥1. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
2. 掌握编写独立运行的窗口界面的方法。
3. 了解Java Swing 组件的使用方法。
4. 了解对话框的使用方法。
四、实验过程原始数据记录实验十图形用户界面(1)…1. 如下图所示,用了三个文本框,第一个文本框给用户输入商品单价,第二个则是给用户输入商品数量,第三个用于显示总金额。
代码:import class test_2_1_1 extends JFrame implementsActionListener{public static void main(String[] args) {ddDocumentListener(new DocumentListener() {"@Overridepublic void removeUpdate(DocumentEvent e) {ddDocumentListener(new DocumentListener() {@Overridepublic void removeUpdate(DocumentEvent e){quals("计算")){?if (!canCal){showMessage("输入的数据不合法");return;}double sum = ()) *());(sum));#}}制作如下图所示的界面,当用户点击单选按钮时,会在一个标签上显示出当前所选定的数据库服务器类型。
南京工程学院实验报告课程名称 JAVA基础实验项目名称图形用户界面设计实验学生班级实验学生姓名学号同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日一、实验目的和要求1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。
2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。
3.熟悉在组件上绘图的方法。
二、实验题目用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。
三、实验方法与步骤(需求分析、算法设计思路、流程图等)算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:因此,我设计了以下核心算法public void actionPerformed(ActionEvent e){if(e.getSource()==button_b){doublewage=Double.parseDouble((String)text_wage.getText());double tax = 0;if(wage<=3500)tax=0;if(wage>3500&&wage<=5000)tax=(wage-3500)*0.03;if(wage>5000&&wage<=8000)tax=(wage-3500)*0.1-105;if(wage>8000&&wage<=12500)tax=(wage-3500)*0.2-555;if(wage>12500&&wage<=38500)tax=(wage-3500)*0.25-1005;if(wage>38500&&wage<=58500)tax=(wage-3500)*0.3-2755;if(wage>58500&&wage<=83500)tax=(wage-3500)*0.35-5505;if(wage>83500)tax=(wage-3500)*0.45-13505;text.setText(""+tax);}}以上算法是根据税率表设计的,具体为:我国规定个人收入在3500元起征个人所得税,分了多个阶段:3500以下:不收税3500以上到5000以下部分:3%5000以上到8000以下部分:10%8000以上到以下部分:20%125000以上到385000以下部分:25%385000以上到585000以下部分:30%585000以上到835000以下部分:35%83500以上:45%首先算出每个阶段的速扣数,然后用此公式:应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数。
实验9 图形用户界面设计及简单事件处理(一)一、实验目的:
掌握Java图形组件及容器的使用;
掌握图形界面的各种控件的使用,如:标签、菜单、文本框、按钮、复选框、列表框、窗框等。
(本实验以按钮、菜单、标签和文本框为例)
二、实验内容:
1.编写Application程序:TestOne.java
在Frame中加入2个按钮(Button)和1个标签(Label),单击两个按钮,显示按钮的标签于Label。
2. 编写Application程序:TestTwo.java
在Frame中加入下列菜单:文件、编辑。
要求:
(1)“文件”中包含:新建、打开和退出。
“新建”中包含:JAVA文档、HTML 文档。
(2)“编辑”中包含:粘贴、查找、全选。
(3)点击菜单项“退出”,可退出程序。
(4)“打开”和“退出”之间有分割线。
作业:
设计一个简单计算器(主类名:Calculator.java),如下图所示(采用BoxLayout布局,具体使用参见P157 例题7.16)。
在“操作数”标签右侧的两个文本框输入操作数,当单击操作符+,-,×,÷按钮时,对两个操作数进行运算并将结果填入到“结果”标签右侧的文本框中,窗体的大小不能改变。
(Frame类中的setResizable()设置此窗体是否可由用户调整大小。
)
三、实验要求:
1.参考教材中的例题对界面进行设计;
2. 学会对简单事件进行处理;
3.写出实验报告。
四、实验步骤:
1.界面设计;
2. 事件处理;
3. 编译运行程序,检查正确性;。
实验名称:图形用户界面设计一、实验目的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.*的作用是什么?答:添加容器类。
实验九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次!”。
程序:
结果:
三实验总结。