南邮Java实验报告1-综合图形界面程序设计
- 格式:doc
- 大小:470.00 KB
- 文档页数:12
实验报告班级:姓名:学号:课程名称Java程序设计实验项目Java语言特性实验项目类型验证演示综合设计指导教师吴伟敏成绩√一、实验目的1.了解线程的基本概念;2.掌握异常以及错误处理的方式;3.掌握Java程序调用I/O以及界面设计的方法;二、实验步骤1.假设某家银行,它可接受顾客的汇款,每做一次汇款,便可计算出汇款的总额。
现有两个顾客,每人都分3次,每次100元将钱到入。
试编写一个程序,模拟实际作业。
测试以下程序,说出此程序的运行机制,体会多线程程序设计以及异常处理的方法。
程序如下:class CBank{private static int sum=0;public static void add(int n){int tmp=sum;tmp=tmp+n; // 累加汇款总额try{Thread.sleep((int)(10000*Math.random()));}catch(InterruptedException e){}sum=tmp;System.out.println("sum= "+sum);}}class CCustomer extends Thread {// CCustomer类,继承Thread类public void run(){ // run() methodfor(int i=1;i<=3;i++)CBank.add(100); // 将100元分三次汇入}}public class Ex3_1{public static void main(String args[]) {CCustomer c1=new CCustomer();CCustomer c2=new CCustomer();c1.start();c2.start();}}基本要求运行程序5次,观察每次运行结果是否相同。
运行结果有时相同,有时不同,5次运行结果如下图所示:思考问题运行结果每次是否相同,运行时间是否相同,为什么?程序运行结果有时相同,有时不同,结果并不确定,运行时间也是不相同的,因为存钱的方法未同步,导致两位顾客的存钱行为是分步进行的,相当于各自存各自的钱,两个sum,最终两位顾客的存钱结束,会有各自的两个sum,都为300。
南邮Java实验报告1-综合图形界面程序设计英文回答:Hello, I'm glad to help you with your Java lab report on comprehensive graphical user interface programming.In this report, I will provide a detailed description of the steps I took to create a graphical user interface (GUI) for a simple application. I will also include screenshots of the GUI and discuss the challenges I faced and how I overcame them.Step 1: Create a new Java project。
The first step was to create a new Java project in my preferred development environment. I used IntelliJ IDEA, but you can use any IDE that you are comfortable with.Step 2: Design the GUI。
Once I had created a new project, I began designing the GUI. I sketched out a rough draft on paper and then usedthe Swing library to create the actual GUI.The Swing library provides a set of components that can be used to create GUIs. These components include buttons, text fields, labels, and menus.Step 3: Add functionality to the GUI。
河南工业大学实验报告专业班级: 计科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实验报告实验名称:Java图形界面编程实验对象:Java初学者实验目的:通过实际操作掌握Java图形界面编程的基本知识和技巧实验过程:1. 实验准备:安装Java JDK开发环境,并准备好IDE工具(如Eclipse或IntelliJ IDEA)2. 创建工程:打开IDE工具,新建一个Java工程,并指定工程名和保存路径3. 创建界面:在工程上新建一个Java类,命名为"MainUI"4. 设计界面:在"MainUI"类中使用Swing或JavaFX等GUI库,设计界面布局和组件5. 添加事件监听:在"MainUI"类中添加事件监听器,使组件与逻辑代码进行关联6. 编写逻辑代码:在"MainUI"类中编写逻辑代码,实现界面交互和功能实现7. 编译运行:将工程编译成可执行文件,并运行程序,查看界面效果和功能是否符合预期8. 调试修复:根据实际运行情况,对代码进行调试和修复,确保程序的稳定性和正确性9. 测试验证:使用不同输入数据对程序进行测试,验证程序的鲁棒性和准确性10. 总结反思:对实验过程进行总结和反思,提出改进和优化的建议实验结果:通过实验,我成功创建了一个简单的Java图形界面程序,并实现了基本的交互和功能。
在界面设计方面,我使用了Swing库进行布局和组件的添加,通过事件监听器实现了按钮点击和文本框输入的监听。
在逻辑代码方面,我实现了简单的计算器功能,能够进行加减乘除等基本运算。
通过测试验证,程序运行稳定,结果准确。
实验心得:通过这次实验,我对Java图形界面编程有了更深入的了解和掌握。
我学会了使用Swing或JavaFX等库进行界面设计,以及如何添加事件监听器和编写逻辑代码。
通过实际操作,我发现编写图形界面程序相对于命令行程序更加复杂,需要考虑到用户的交互和界面布局,还需要注意代码的可读性和可维护性。
java图形用户界面实验报告
《Java图形用户界面实验报告》
一、实验目的
本次实验旨在通过使用Java图形用户界面(GUI)工具,掌握Java程序设计的
基本原理和方法,加深对Java语言的理解和应用。
二、实验内容
1. 使用Java的Swing和AWT等图形用户界面工具,设计一个简单的窗口界面。
2. 在窗口中添加按钮、文本框、标签等组件,并实现相应的事件处理。
3. 编写Java代码,实现窗口界面的布局和交互功能。
三、实验步骤
1. 首先,创建一个新的Java项目,并新建一个窗口类。
2. 在窗口类中使用Swing和AWT工具,设计窗口界面,并添加所需的组件。
3. 编写事件处理方法,实现按钮点击、文本框输入等操作的响应。
4. 调试和运行程序,检查窗口界面的布局和功能是否符合预期。
四、实验结果
经过一系列的编码和调试,最终实现了一个简单的Java图形用户界面程序。
该
程序具有良好的界面布局和交互功能,用户可以通过按钮点击和文本框输入进
行相应的操作。
五、实验总结
通过本次实验,我深入理解了Java图形用户界面的设计原理和实现方法,掌握
了Swing和AWT等GUI工具的使用技巧。
在今后的学习和工作中,我将继续
加强对Java编程的实践,不断提升自己的技能水平,为今后的软件开发工作打
下坚实的基础。
实验报告2013学年第 1 学期任课老师:课程名称Java语言与系统设计班级学号姓名实验名称实验4 图形用户界面(GUI)实验时间实验环境PC/windows2000/2003/XP/Jcreator Pro/JBuild/JDK Eclipse/。
实验目的和内容要求实验4 图形用户界面(GUI)1.实验目的掌握布局管理器的使用,掌握JFrame框架、JButton按钮、JLabel标签、JTextField文本框、对话框等组件的使用及其事件处理。
2.实验内容(1)编程:创建有一个文本框和三个按钮的小程序。
当按下每个按钮时,使不同的文字显示在文本框中。
(2)编程:创建一用户登录界面,接受用户输入的帐号和密码,给三次输入机会。
实验过程记录(学生写出实验步骤及中间的结果与现象,在实验中做了什么,怎么做,发生的现象和中间结果)实验步骤:1.建立一个类继承JFrame,然后初始化界面,给三个按钮添加监听器,点击之后进行判断。
然后根据接收信息是不同的文字出现在文本框中。
2.登录界面共有5个键,登录提示有只能输入3次密码,在登录按钮上添加监听器,每次点击之后都判断,不成功就显示失败,成功就弹出成功弹窗;实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):2、实验过程中的发现与收获,未解决或需进一步解决的问题:实现的比较简单,界面做的非常简陋,但还算实现了基本功能。
指导老师评阅意见指导老师:***填写内容时,可把表格扩大。
附:实验源程序代码//第一题package com.miao;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Example extends JFrame implements ActionListener { private static final long serialVersionUID = 1L;private JPanel jPanel;private JButton jButton1,jButton2,jButton3;private JTextField tf1;public void test(String title) {init();}private void init() {jPanel=new JPanel();jPanel.setLayout(new FlowLayout());tf1=new JTextField(20);jButton1=new JButton("按钮1");jButton2=new JButton("按钮2");jButton3=new JButton("按钮3");jButton1.addActionListener(this);jButton2.addActionListener(this);jButton3.addActionListener(this);jPanel.add(tf1);jPanel.add(jButton1);jPanel.add(jButton2);jPanel.add(jButton3);this.add(jPanel);this.setSize(300,100);this.setResizable(false);this.setTitle("Show");this.setVisible(true);this.addWindowListener(new WindowAdapter() {public void windowClosing(final WindowEvent e) {System.exit(0);}});}public void actionPerformed(ActionEvent e) {if(e.getSource().equals(jButton1)){tf1.setText("lalalalalala");}if(e.getSource().equals(jButton2)){tf1.setText("heihei");}if(e.getSource().equals(jButton3)){tf1.setText("gaga");}}public static void main(String[] args){String s="文字转化";Example test=new Example();test.test(s);}}//第二题,登录package com.miao;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;@SuppressWarnings("serial")public class Test extends JFrame {JLabel lbl1 = new JLabel("用户名:");JLabel lbl2 = new JLabel("密码:");JTextField txt = new JTextField("admin",20);JPasswordField pwd = new JPasswordField(20);JButton btn = new JButton("登录");JPanel pnl = new JPanel();private int error = 0;public void text() throws HeadlessException {init();}private void init() {this.setResizable(false);this.setTitle("测试");pnl.add(lbl1);pnl.add(txt);pnl.add(lbl2);pnl.add(pwd);pnl.add(btn);this.getContentPane().add(pnl);btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (error<3&&"123".equals(new String(pwd.getPassword()))){// pnl.removeAll();// JLabel lbl3 = new JLabel();// pnl.add(lbl3);JOptionPane.showMessageDialog(null,"登陆成功!");}else if(error < 3){JOptionPane.showMessageDialog(null,"密码输入错误,请再试一次");error++;}else if(error >=3){JOptionPane.showMessageDialog(null,"对不起,您不是合法用户"); // txt.setEnabled(false);// pwd.setEnabled(false);// btn.setEnabled(false);error++;}}});}public static void main(String[] args) {// String str="测试";Test frm = new Test();frm.text();frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setBounds(100, 100, 300, 120);frm.setVisible(true);frm.setLocationRelativeTo(null);// frm.text("测试");}}。
南邮Java实验报告1-综合图形界面程序设计英文回答:This report presents the findings of a comprehensive study on the design and implementation of a graphical user interface (GUI) program using Java. The experiment involved the development of a simple calculator application with basic arithmetic functions. The GUI was designed using the Java Swing library, which provided a wide range of pre-built components for creating user interfaces.The development process began with a thorough analysis of the user requirements for the calculator application. Based on this analysis, a user interface prototype was created using a wireframing tool. This prototype served as the blueprint for the final GUI design.The next step was to implement the GUI using Java Swing components. These components include buttons, text fields,labels, and panels, which were arranged and configured to create a user-friendly and intuitive interface. The calculator's basic arithmetic operations were implemented using simple mathematical expressions and conditional statements.Throughout the development process, extensive testing was conducted to ensure the functionality and reliability of the GUI program. Unit tests were used to verify the behavior of individual components, while integration tests ensured that the components worked together seamlessly. Performance tests were also conducted to assess the responsiveness of the GUI under various loads.The final GUI program was a fully functional calculator with a user-friendly interface and reliable performance. It demonstrated the effectiveness of Java Swing for creating complex GUI applications with ease and efficiency.中文回答:南邮Java实验报告1-综合图形界面程序设计。
java图形实验报告《Java图形实验报告》摘要:本实验通过使用Java编程语言,利用图形界面设计工具和图形库,实现了一个简单的图形界面程序。
本实验主要包括了界面设计和图形绘制两个部分,通过实验过程,我们深入了解了Java图形界面编程的基本原理和实现方法。
一、实验目的1. 了解Java图形界面编程的基本原理和实现方法;2. 掌握Java图形界面设计工具的使用;3. 掌握Java图形库的使用;4. 实现一个简单的图形界面程序。
二、实验内容1. 界面设计:使用Java图形界面设计工具,设计一个简单的界面,包括按钮、文本框等基本组件;2. 图形绘制:利用Java图形库,实现在界面上绘制简单的图形,如直线、矩形等。
三、实验步骤1. 界面设计:使用Java图形界面设计工具,创建一个新的界面窗口,添加按钮和文本框等组件,设置它们的位置和大小;2. 图形绘制:在界面上添加一个画布组件,利用Java图形库在画布上绘制简单的图形,如直线、矩形等;3. 编写Java代码,实现界面和图形的交互功能,如按钮点击事件等。
四、实验结果通过实验,我们成功实现了一个简单的图形界面程序。
界面上包括了按钮和文本框等组件,通过按钮点击事件,可以在画布上绘制直线、矩形等图形。
五、实验总结通过本次实验,我们深入了解了Java图形界面编程的基本原理和实现方法,掌握了Java图形界面设计工具和图形库的使用。
通过实验过程,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。
六、参考资料1. 《Java图形界面编程实例详解》;2. 《Java图形库使用手册》。
通过本次实验,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。
希望通过今后的实践和学习,能够更加熟练地运用Java图形界面编程技术,实现更加复杂和丰富的图形界面程序。
南邮J a v a实验报告综合图形界面程序设计 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】实验报告( 2016 / 2017 学年第2学期)课程名称JAVA程序设计实验名称综合图形界面程序设计实验时间 2017年 6月 2日指导单位计算机学院计算机系统与网络教学中心指导教师学生姓名班级学号学院(系)计算机学院专业计算机科学与技术实验报告实验名称综合图形界面程序设计指导教师实验类型上机实验学时 2 实验时间实验报告3.实验关键代码:(省略了设计产生的格式、字体、样式等代码,保留主要代码)public class NewJFrame extends {private final String s[]={"美元USD", "人民币CNY", "日元JPY", "欧元EUR", "英镑GBP", "澳元AUD"};private final floatrate[]={1,(float),(float),(float),(float),(float)};private double sum;00000");String text=();String sum1;int cbx = ();验结果:(1)我的汇率转换器主界面:(2)测试输入结果页面:实验报告实验报告四、实验小结(包括问题和解决方法、心得体会、意见与建议等)1.通过本次试验,我大概理解了JAVA SWING中的容器,部件,布局管理器和部件事件处理方法,学会了使用JAVA SWING来设计简单的java程序。
通过编写调试程序,也掌握JAVA图形界面程序设计的基本方法。
本实验做了属于自己的第一个Java汇率转换器,收获了很多东西,成就感满满。
2.原来上课时候没有认真听讲,导致实验开始做时存在困难,不知从何下手。
实验3 图形用户界面编程(设计性实验)一、实验目的1、熟悉Swing的基本组件,包括文本输入框、多行文本输入框、按钮、列表框等;2、熟悉常用的布局管理器3、了解GUI图像用户界面的设计方法4、掌握Java组件的事件处理机制5、熟悉基于内部类和匿名类的事件处理方式二、实验要求1、学生应做到独立上机操作2、编程前应将程序的设计构想完成,主要包括所要创建的类的结构及属性和行为。
3、上机输入和调试自己所编的程序,并存在自己的软盘上。
4、检查实验结果是否正确。
5、上机结束后,写出实验报告,要求附运行界面、源代码。
实验报告中应对实验结果进行分析,尤其是针对错误输出的分析。
三、实验内容1. 选做:编写程序,显示一个窗口,窗口中包含一个按钮。
当单击按钮时将弹出另一个窗口。
2. 编写一个简单的计算器程序,实现两个数相加。
在文本框输入两个实数,点击“相加”按钮实现两个实数相加,并在标签中显示相加结果。
点击“清除”完成对文本框和运行结果的清除。
四、实验代码及结果1、import javax.swing.*;import java.awt.event.*;import java.awt.*;public class TestFrame{public static void main(String args[]){JFrame f=new JFrame("Test");f.setSize(400,200);f.setLayout(new FlowLayout(FlowLayout.CENTER));f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton b=new JButton("确定");b.addActionListener(new ButtonHandler());f.add(b);f.setVisible(true);}}class ButtonHandler implements ActionListener{public void actionPerformed(ActionEvent e){JFrame fr=new JFrame("Hello");fr.setSize(200,100);fr.setVisible(true);}}import javax.swing.*;import java.awt.event.*;import java.awt.*;public class TestCalculator implements ActionListener{JFrame f;JTextField t1;JTextField t2;JTextField t3;JButton b1;JButton b2;public TestCalculator(){f=new JFrame("Calculate");f.setSize(400,200);f.setLayout(new GridLayout(2,3));f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);t1=new JTextField();t2=new JTextField();t3=new JTextField();b1=new JButton("add");b2=new JButton("clear");b1.addActionListener(this);b2.addActionListener(this);f.add(t1);f.add(t2);f.add(t3);f.add(b1);f.add(b2);f.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==b1){String s1=t1.getText();String s2=t2.getText();int a=Integer.valueOf(s1).intValue();int b=Integer.valueOf(s2).intValue();int c=a+b;t3.setText(Integer.toString(c));}else{t1.setText(" ");t2.setText(" ");t3.setText(" ");}}public static void main(String args[]){ TestCalculator test=new TestCalculator(); }}。
Java图形用户界面设计实验总结1. 简介本文档是关于Java图形用户界面(GUI)设计实验的总结。
我们将对Java GUI 的基本概念和原理进行介绍,并提供一些实验总结和经验分享。
Java GUI是一种用于创建用户友好界面的技术,在开发各种应用程序时非常重要。
2. Java GUI的基本概念和原理2.1 Java GUI库Java提供了一些库来帮助开发人员创建GUI应用程序。
其中最常用的库是Java Swing和JavaFX。
Swing提供了一组类和方法,用于创建和管理各种GUI组件,例如按钮、文本框、标签等。
JavaFX是一个更现代化的GUI库,提供了更好的图形渲染和动画效果。
2.2 GUI组件Java GUI应用程序通常由一系列GUI组件组成。
最常见的GUI组件包括:•按钮(Button):用于触发各种操作;•标签(Label):用于展示文本信息;•文本框(TextField):用于输入文本;•列表框(ListBox):用于显示一个选项列表;•组合框(ComboBox):同时兼具列表框和文本框的功能;•复选框(CheckBox):用于选择一个或多个选项;•单选按钮(RadioButton):用于从一组选项中选择一个。
2.3 事件处理Java GUI应用程序通常需要对用户的操作做出响应。
为此,需要使用事件处理机制。
事件处理机制通常由两个主要部分组成:事件源和事件监听器。
事件源可以是任何GUI组件,例如按钮、文本框等。
事件监听器是一个类,用于响应和处理特定事件。
3. 实验总结和经验分享在完成Java GUI设计实验时,我得出了以下总结和经验分享:•熟悉GUI组件的使用:在开始实验之前,我花了一些时间学习和理解不同GUI组件的使用方法。
这让我能够更好地选择和使用适当的组件来实现我的GUI应用程序。
•构建用户友好的界面:一个好的GUI应用程序应该是用户友好的。
在实验中,我学会了如何通过合理的布局、适当的颜色和字体选择来创建一个用户友好的界面。
南邮Java实验报告1-综合图形界面程序设
计
自查报告。
在本次综合图形界面程序设计的实验中,我使用Java语言完成
了一个简单的图形界面程序。
在完成实验过程中,我对自己进行了
一些自查,总结如下:
1. 程序功能完整性,在设计程序时,我充分考虑了程序的功能
完整性,确保程序能够实现预期的功能。
我在自查过程中,对程序
进行了多次测试,确保程序的各个功能模块都能正常运行。
2. 代码规范性,我在编写代码的过程中,遵循了Java编程规范,确保代码的可读性和可维护性。
在自查过程中,我对代码进行
了排版和注释,确保代码的规范性。
3. 用户体验,在设计图形界面时,我考虑了用户体验,确保界
面简洁明了,操作方便。
在自查过程中,我对界面进行了多次优化,确保用户能够顺利使用程序。
4. 错误处理,在程序中,我考虑了各种可能出现的错误情况,
并进行了相应的错误处理。
在自查过程中,我对程序进行了多次异
常测试,确保程序能够正确处理各种异常情况。
在自查过程中,我发现了一些问题,并及时进行了修改和优化。
通过本次自查,我对自己的程序设计能力有了更深入的认识,也提
高了对程序质量的要求。
在今后的学习和工作中,我将继续努力,
不断提升自己的编程能力和程序设计水平。
南京工程学院实验报告课程名称 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%首先算出每个阶段的速扣数,然后用此公式:应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数。
实验报告(2011 / 2012 学年第2学期)课程名称JAVA语言实验名称综合图形界面程序设计实验时间2012 年 5 月 2 日指导单位计算机学院指导教师邓玉龙学生姓名yoyo 班级学号学院(系) 通信与信息工专业电子信息工程程学院实验名称综合图形界面程序设计指导教师邓玉龙实验类型程序设计实验学时3实验时间2012.5.2 一、实验目的和要求学习和理解JAVA SWING中的容器、部件、布局管理器和部件事件处理方法。
通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。
二、实验环境(实验设备)PC微型计算机系统,Microsoft Windows操作系统,MyEclipse开发工具。
三、实验原理及内容实验内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
附:程序使用的人民币外汇牌价参考每100元美元等值买入人民币数:630.64 (2012/4/23 数据) 实验程序:import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.DecimalFormat; //导入相关包public class yuantodollar implements ActionListener { JFrame win=new JFrame("转换表 ---人民币转换美元");//窗口的创建Container contentPane=win.getContentPane();JLabel message=new JLabel("请输入人民币值:");JLabel label1=new JLabel("人民币:");JLabel label2=new JLabel("美元:"); //标签的创建JButton button=new JButton("转换"); //按钮的创建JTextField f1=new JTextField(10);JTextField f2=new JTextField(10); //文本框的创建JPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p3=new JPanel(); public void go(){ button.addActionListener(this); //对按钮进行了监听contentPane.setLayout(new BorderLayout());//设置布局管理器p1.add(label1);p1.add(f1);p1.add(label2);p1.add(f2);p2.add(button);p3.add(message);contentPane.add(p3,BorderLayout.NORTH);contentPane.add(p2,BorderLayout.SOUTH);contentPane.add(p1,BorderLayout.CENTER);win.pack(); //设置窗口大小win.setVisible(true); }public void actionPerformed(ActionEvent e) { //处理事件double x,t;String y;if(e.getActionCommand()=="转换") { x = Double.parseDouble(f1.getText());//字符转为double型t=x/6.3064;DecimalFormat df1 = new DecimalFormat("0.00");//保留两位y=df1.format(t);f2.setText(y);} } public static void main(String arg[]) { yuantodollar a=new yuantodollar();a.go();}}实验结果:四、实验小结(包括问题和解决方法、心得体会、意见与建议等)掌握JAVA图形界面程序设计,要理解和掌握好两个概念:容器类和组件类。
实验报告(2013 / 2014 学年第二学期)课程名称Java语言程序设计实验名称综合图形界面程序设计实验时间2014年5月5日指导单位计算机学院软件教学中心指导教师薛景学生姓名周媛班级学号12001108计算机科学与技术学院(系)计算机学院专业(信息安全)实验名称综合图形界面程序设计指导教师薛景实验类型上机实验学时 2 实验时间2014-5-5一、实验目的1. 学习使用Java Swing设计GUI界面2. 学习Java的事件监听机制的基本原理3. 学习监听器处理Java中的事件二、实验环境1. 每位同学配备实验计算机一台2. 安装JDK和Eclipse三、实验内容1、编写一个算数测试小软件,用来训练小学生的算数能力。
程序有3个类组成,其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame对象负责为算数题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。
(请在下方空白处填写本程序的全部..程序代码及软件界面截图)public class Mainclass {public static void main(String args[]){ComputerFrame frame;frame=new ComputerFrame();frame.setTitle("算术测试");frame.setBounds(100,100,650,180);}}import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ComputerFrame extends JFrame{JMenuBar menubar;JMenu choiceGrade;JMenuItem grade1,grade2;JTextField textOne,textTwo,textResult;JButton getProblem,giveAnswer;JLabel operatorLabel,message;Teacher teacherZhang;ComputerFrame(){teacherZhang=new Teacher();teacherZhang.setMaxInteger(20);setLayout(new FlowLayout());menubar = new JMenuBar();choiceGrade=new JMenu("选择级别");grade1=new JMenuItem("幼儿级别");grade2=new JMenuItem("儿童级别");grade1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ teacherZhang.setMaxInteger(10);}});grade2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ teacherZhang.setMaxInteger(50);}});choiceGrade.add(grade1);choiceGrade.add(grade2);menubar.add(choiceGrade);setJMenuBar(menubar);textOne=new JTextField(5);//创建textOne,其可见字符长是5textTwo=new JTextField(5);textResult=new JTextField(5);operatorLabel=new JLabel("+");operatorLabel.setFont(new Font("Arial",Font.BOLD,20));message=new JLabel("你还没有回答呢");getProblem=new JButton("获取题目");giveAnswer=new JButton("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new JLabel("="));add(textResult);add(giveAnswer);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.setActionCommand("getProblem");textResult.setActionCommand("answer");giveAnswer.setActionCommand("answer");teacherZhang.setJTextField(textOne,textTwo,textResult); teacherZhang.setJLabel(operatorLabel,message);getProblem.addActionListener(teacherZhang);giveAnswer.addActionListener(teacherZhang);textResult.addActionListener(teacherZhang);setVisible(true);validate();setDefaultCloseOperation(DISPOSE_ON_CLOSE);}}import java.util.Random;import java.awt.event.*;import javax.swing.*;public class Teacher implements ActionListener{int numberOne,numberTwo;String operator="";boolean isRight;Random random;int maxInteger;JTextField textOne,textTwo,textResult;JLabel operatorLabel,message;Teacher(){random=new Random();}public void setMaxInteger(int n){maxInteger=n;}public void actionPerformed(ActionEvent e){String str=e.getActionCommand();if(str.equals("getProblem")){numberOne=random.nextInt(maxInteger)+1;numberTwo=random.nextInt(maxInteger)+1;double d=Math.random();if(d>=0.5)operator="+";elseoperator="-";textOne.setText(""+numberOne);textTwo.setText(""+numberTwo);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}else if(str.equals("answer")){String answer=textResul.getText();try{ int result=Integer.parseInt(answer); if(operator.equals("+")){if(result==numberOne+numberTwo)message.setText("你回答正确");elsemessage.setText("你回答错误");}else if(operator.equals("-")){if(result==numberOne-numberTwo)message.setText("你回答正确");elsemessage.setText("你回答错误");}}catch(NumberFormatException ex){message.setText("请输入数字字符");}}}public void setJTextField(JTextField...t) {textOne=t[0];textTwo=t[1];textResult=t[2];}public void setJLabel(JLabel bel){operatorLabel=label[0];message=label[1];}}2、编写一个简单的计算器软件,实现简单的四则运算。
南昌航空大学实验报告课程名称:java程序设计准考证号:036811100078姓名:周文飞指导老师:邹华福实验报告内容和步骤一、实训目的1.掌握下载 Java SDK 软件包。
2.掌握设置 Java 程序运行环境的方法。
3.掌握编写与运行 Java 程序的方法。
4.了解 Java 语言的概貌。
5.安装、掌握JCreator软件,为学习 Java 语言和进行 Java 程序的实训做好准备工作。
6.浏览Applet 程序二、实验要求1.安装并设置 Java SDK 软件包。
2.编写一个简单的 Java 程序,在屏幕上输出”hello,java!”。
public class Hello{public static void main(String args[]) {System.out.println("hello,java!");}}3.掌握运行 Java 程序的步骤。
4.浏览 SDK 自带的 Applet 应用小程序。
三、实训内容1.下载SDK为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包。
SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。
在浏览器中输入/,在页面的“Download J2SE ”栏可以选择下载J2SE SDK 软件包。
本课程实验选用J2SE 1.5 版本软件。
2.安装SDK运行下载的j2sdk-1.5 for windows 版本软件包,可安装SDK,在安装过程中可以设置安装路径及选择组件,或使用系统默认的安装路径(如本机为C:\Java\jdk1.5.0_05),默认的组2.掌握设置 Java 程序运行环境的方法关于怎么配置环境变量。
在windows桌面上右击“我的电脑” —> “属性” —> “高级” —> “环境变量”,在“系统变量”里我们可以看到系统的各个环境变量的值。
南昌航空大学实验报告2019 年 5 月 9 日课程名称:Java语言程序设计A 实验名称: Java图形图像班级:学生姓名:学号:指导教师评定:签名:一、实验目的掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法。
二、实验内容1.输入两个整数,分别进行加、减、乘、除等算术运算,界面如下图所示。
要求:1) 采用Swing组件设计图形用户界面,采用3个文本行JTextField分别表示两个操作数和运算结果,其中表示运算结果的文本行只能显示,不能输入;采用组合框JComboBox提供多种算数运算符的选择方式,组合框只能在下拉列表中选择,不能编辑。
2) 文本行要响应单击事件,组合框要响应选择事件。
两个事件处理方法执行由组合框指定的算术运算。
3) 进行异常处理。
当文本行中的字符串不能转换成整数时,弹出对话框显示指定信息,提示用户重新输入。
三、实验过程import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Calculate extends JFrame implements ActionListener{ private JTextField tex1,tex2,fin;private JLabel jl;private MessageJDialog jd;private JComboBox box;private static String fuhao[]={"+","-","*","/"};int i;public Calculate(){super("整数计算器");this.setBounds(300,240,420,80);this.setResizable(false);this.setBackground(java.awt.Color.lightGray);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));tex1=new JTextField(10);this.getContentPane().add(tex1);tex1.setHorizontalAlignment(JTextField.LEFT);tex1.addActionListener(this);box=new JComboBox<String>(fuhao);box.addActionListener(this);box.setEditable(false);this.getContentPane().add(box);tex2=new JTextField(10);this.getContentPane().add(tex2);tex2.setHorizontalAlignment(JTextField.LEFT);tex2.addActionListener(this);jl=new JLabel("=");this.getContentPane().add(jl);jl.setHorizontalAlignment(JTextField.LEFT);fin=new JTextField(10);this.getContentPane().add(fin);fin.setHorizontalAlignment(JTextField.LEFT);fin.setEditable(false);fin.addActionListener(this);jd=new MessageJDialog(this);this.setVisible(true);}private class MessageJDialog extends JDialog{JLabel jla;JFrame Frame;MessageJDialog(JFrame Frame){super(Frame,"警告",true);this.Frame=Frame;this.setSize(300,80);jla=new JLabel("111",JLabel.CENTER);this.getContentPane().add(jla);this.setDefaultCloseOperation(HIDE_ON_CLOSE);}void show(String message){jla.setText(message);this.setLocation(Frame.getX()+100,Frame.getY()+100);this.setVisible(true);}}public void actionPerformed(ActionEvent a){if(a.getSource()==box){i=box.getSelectedIndex();}if(a.getSource()==tex2||a.getSource()==tex1){String str = null;try{if(i==0){Integer x=Integer.parseInt(tex1.getText());Integer y=Integer.parseInt(tex2.getText());str=Integer.toString(x+y);}else if(i==1){Integer x=Integer.parseInt(tex1.getText());Integer y=Integer.parseInt(tex2.getText());str=Integer.toString(x-y);}else if(i==2){Integer x=Integer.parseInt(tex1.getText());Integer y=Integer.parseInt(tex2.getText());str=Integer.toString(x*y);}else if(i==3){Integer x=Integer.parseInt(tex1.getText());Integer y=Integer.parseInt(tex2.getText());if(y==0){jd.show("除数不能为0");tex1.setText("");tex2.setText("");fin.setText("");}elsestr=Integer.toString(x/y);}fin.setText(str);}catch(NumberFormatException e1){jd.show("请输入整数");tex1.setText("");tex2.setText("");fin.setText("");}finally{};}}public static void main(String[] args){// TODO Auto-generated method stubnew Calculate();}}四、实验结果五、实验分析通过本次实验,基本上掌握了使用awt和swing组件设计图形用户界面的方法,包括对窗口、对话框、文本框等工具的合理使用。
实验报告
(2016 / 2017 学年第2 学期)
课程名称JAVA程序设计
实验名称综合图形界面程序设计
实验时间2017年6月2日
指导单位计算机学院计算机系统与网络教学中心指导教师
学生姓名班级学号
学院(系)计算机学院专业计算机科学与技
术
实验报告
实验报告
jTextField2.setText(null);
}
}
4.实验结果:
(1)我的汇率转换器主界面:
(2)测试输入结果页面:
实验报告
实
验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
1.通过本次试验,我大概理解了JAVA SWING中的容器,部件,布局管理器和部件事件
处理方法,学会了使用JAVA SWING来设计简单的java程序。
通过编写调试程序,也掌握JAVA图形界面程序设计的基本方法。
本实验做了属于自己的第一个Java汇率转换器,收获了很多东西,成就感满满。
2.原来上课时候没有认真听讲,导致实验开始做时存在困难,不知从何下手。
通过求教
同学和老师还有网络资源,找到了大致思路。
虽然最终自己实践是还是很多的错误需要调试,但是程序成功运行时的确非常开心。
3.此次实验,自己设计界面,总体算比较成功,但是仍有一些小bug使得程序不那么完
美,比如:
可以看到,当转换结果小于1时,计算机自动省略了0.778000、0.012124中小数点前面的“0”,由于时间有限,且不影响整体使用效果,就暂时没有思考修改这个问题的解决办法。
待有时间时将尽力改好这个问题。
4.在设计的时候,不知道怎么不知相对布局,导致程序运行时小窗口的时候比较合适,
一旦放大或者缩小窗口时,内容却不会相应变化,无法实现响应式布局。
期待后续能够解决这个问题。
5.本次实验,设计并不难,毕竟只需要部件拖拽即可实现设计布局。
于我而言,难在如
何给按钮增加触发事件处理、和如何获取文本框和复选按钮的值并进行运算。