组件及事件处理.doc_第1页
组件及事件处理.doc_第2页
组件及事件处理.doc_第3页
组件及事件处理.doc_第4页
组件及事件处理.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java语言课程实验报告实验4:组件及事件处理一、实验目的:掌握Java Swing组件的使用方法,理解委托事件处理模型,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式,设Java Swing组件的使用方法计出具有图形用户界面、能够响应事件的Java应用程序。二、实验内容:(1)计算器设计参考Windows平台的calc.exe(计算器),设计一个计算器,能够实现加、减、乘、除等基本运算。(2)货币转换设计一个应用程序,实现人民币和美元的转换。要求用编辑框显示人民币值、汇率和美元值,描绘设计界面并写出事件处理程序。三、实验过程中遇到的问题及解决手段: 虽然界面做好了,但是并不能进行加减乘除运算,通过和同学讨论和上网查找资料才弄明白。对Java Swing组件的使用方法不太明白,通过看书和文别人才知道。四、本次实验的体会(结论):通过本次上机实验,了解了Windows平台的calc.exe的设计过程和操作方法,从中实现了人民币和美元的兑换。掌握了Java Swing组件的使用方法,理解了Java Swing组件的使用方法,掌握了多种布局方式和窗口菜单和快捷菜单设计方式。五、程序源代码:(1) import java.util.regex.*; public class Calculation public static void main(String args) throws Exception / TODO Auto-generated method stub if (args.length != 3) System.out.println(MyCal need 3 parameters the formate is:); System.out.println(MyCal num1 operate num2:); return; if (!isNumeric(args0) | !isNumeric(args2) System.out.println(MyCal need 3 parameters the formate is:); System.out.println(MyCal num1 operate num2); System.out.println(num1 and num2 must be number:); return; int num1 = Integer.parseInt(args0); int num2 = Integer.parseInt(args2); if (args1.length() = 1) switch (args1.charAt(0) case +: System.out.println(num1 + + + num2 + = + (num1 + num2); return; case -: System.out.println(num1 + - + num2 + = + (num1 - num2); return; case x: System.out.println(num1 + x + num2 + = + (num1 * num2); return; case /: if (num2 = 0) System.out.println(cant / 0); return; System.out.println(num1 + / + num2 + = + (num1 / num2); return; System.out.println(MyCal need 3 parameters the formate is:); System.out.println(MyCal num1 operate num2); System.out.println(operate be (+, -, x, /); return; public static boolean isNumeric(String str) Pattern pattern = Ppile(0-9*); Matcher isNum = pattern.matcher(str); if(!isNum.matches() return false; return true; (2)package exam04;import java.applet.*;import java.awt.*;import java.awt.event.*;public class Exchange extends Applet implements ActionListener Label lab1,lab2,lab3;TextField text1,text2,text3;Button but1,but2;String str;double h1,h2;double x,y,z;public void init() lab1 = new Label(人民币:);add(lab1);text1 = new TextField(,15);text1.addActionListener(this);add(text1);lab2 = new Label(美元:);add(lab2);text2 = new TextField(,16);text2.addActionListener(this);add(text2);lab3 = new Label(汇率: );add(lab3);text3 = new TextField(,16);text3.addActionListener(this);add(text3);but1 = new Button(人民币转换美元);but2 = new Button(美元转换人民币);add(but1);add(but2);but1.addActionListener(this); but2.addActionListener(this); public void actionPerformed(ActionEvent e)if(text1.getText() != null) if(text3.getText() != null)tryx = Double.parseDouble(text1.getText(); /这个是输入人民币的钱数y = Double.parseDouble(text3.getText(); /这个是输入美元的钱数h1 = x*y; /转换后的钱数text2.setText( + h1); /在文本2显示出钱数catch(NumberFormatException ex)text1.setText(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论