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

合集下载

java用户图形界面课程设计

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图形用户界面实验报告

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

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图形用户界面设计

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程序设计实训教程课件项目九 图形用户界面设计

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图形用户界面实验报告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应用开发与实践-图形用户界面设计

Java应用开发与实践-图形用户界面设计
.2.1 边界布局BorderLayout
边界布局把整个窗口分成了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图形用户界面课程设计

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图形用户界面编程的知识。

JAVA图形用户界面设计

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

实验九Java图形用户界面设计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 次! ”。

JAVA实验-图形界面设计

JAVA实验-图形界面设计

广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室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 图形用户界面设计

java 图形用户界面设计
{
JLabel userLabel;
JLabel passwordLabel;
JTextField userText;
JPasswordField passwordText;
int count=1;//统计输入信息的次数
public PasswordVerification()
{
super("请输入信息");
Container c =代码1;//得到容器对象container
c、setLayout(new FlowLayout());//设置默认布局
userLabel=代码2//创建用户标签
passwordLabel=代码3;//创建密码标签
userText=代码4//创建用户文本输入框
passwordText=代码5//创建密码输入文本框
if(e、getSource()==passwordText)
{
count++;
char[] passwords=passwordText、getPassword();
if(userText、getText()、equals(userName)&&password、equals(new String(passwords)))
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程序设计图形用户界面(GUI)设计

java程序设计图形用户界面(GUI)设计
在程序中安排组件的位置和大小时,需要注意: 容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况
下 直 接 设 置 这 些 属 性 。 若 试 图 使 用 Java 语 言 提 供 的 setLocation(),setSize(),setBounds()等方法,则都会被布局管理器覆盖。 若用户确实需要亲自设置这些组件的位置和大小,则应该取消该容器的布局 管理器,方法为:setLayout(null)。随后,用户必须使用 setLocation()等相关 方法设置大小和位置,但这种方法将会导致程序和系统相关。 C:观感(Look and Feel) Java swing 的一个重要特征是它的可插入的“观感”体系。 Swing 运行一个默认的 Java 观感(也称为 metal 观感),还实现了模仿 Motif 和 Windows 的观感。 例题 9.2 说明了如何设置观感。 9.1.3 事件处理 在一个 GUI 程序中,为了能够接收用户的输入、命令的按键和鼠标操作等, 程序系统首先应该能够识别这些操作并做出相应的响应。通常一个键盘和鼠标操 作将引发一个系统预先定义好的事件,用户程序只要编写代码定义每个事件发生 时程序应做出何种响应即可。这些代码会在他们对应的事件发生时由系统自动调 用,这就是 GUI 程序中事件和事件响应的基本原理。 在 Java 中,除了键盘和鼠标操作,系统的状态改变也可以引发事件。可能产 生事件的组件被称为事件源,不同事件源上发生的事件种类是不同的。事件源和
A:FlowLayout 是一种基本布局,它是指把组件从左向右,从上到下地依次放在容器上,每一
行中的组件默认为居中对齐。当容器的大小改变之后,组件的大小不变,但布局 将会发生变化。
FlowLayout 是一个类,它有以下几个常用方法: public FlowLayout() Constructs a new Flow Layout with a centered alignment and a default 5-unit horizontal and vertical gap. public FlowLayout(int align) Constructs a new Flow Layout with the specified alignment and a default 5-unit horizontal and vertical gap. The value of the alignment argument must be o ne of FlowLayout.LEFT, FlowLayout.RIGHT, or FlowLayout.CENTER. Parameters:

Java基础实验报告图形用户界面设计

Java基础实验报告图形用户界面设计

南京工程学院实验报告课程名称 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%首先算出每个阶段的速扣数,然后用此公式:应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数。

java 图形用户界面设计及事件处理

java  图形用户界面设计及事件处理

实验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. 编译运行程序,检查正确性;。

了解Java系统图形用户界面的工作原理和界面设计步骤

了解Java系统图形用户界面的工作原理和界面设计步骤
f.add("West",button2);
f.add("Center",button3);
f.add("East",button4);
f.add("South",button5);
f.setSize(100,100);
f.setVisible(true);
}
}
结果:如图(2)
图(2)
3.编写一个Java Application程序,该程序运行的运行结果如下所示。
f.add(button1);
f.add(button2);
f.add(button3);
f.add(button4);
f.add(button5);
f.add(button6);
f.setSize(100,100);
f.setVisible(true);
结果:如图(3)
图(3)
4.编写一个Java Application程序,该程序运行的运行结果如下所示。
程序:
public static void main(String[] args) {
Frame f = new Frame("GridLayout Example");
Button button1 = new Button("b1");
Button button2 = new Button("b2");
m21.addActionListener(this);
m2.add(m21);
JMenu m22 = new JMenu("进制");
m22.addActionListener(this);

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)。

实验九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次!”。

程序:
结果:
三实验总结。

相关文档
最新文档