版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 西 安 邮 电 大 学 (计算机学院)Java程序设计课内实验报告实验名称: APPLET 专业名称: 软件工程班 级:1201 学生姓名: 学号(8位): 指导教师: 实验日期: 2014年5月26日一. 实验目的及实验环境理解 Applet 生命周期模型及运行原理,掌握 Applet 设计方法,能结合以前知识,综合应用,实现实用价值的小应用程序。二. 实验内容1. 运行 JDK Demo 中的示例程序,加强对 Applet 的理解。2. 设计一个 Applet,完成将小写数字货币转换成大写形式。如输入 189.56,输出文本框显示:壹佰捌拾玖元伍角陆分。3. 设计一个 Applet,完成
2、数字时钟功能。三方案设计使用Box类布局小应用程序第一题public void init() String blinkFrequency = getParameter("speed"); delay = (blinkFrequency = null) ? 400 : (1000 / Integer.parseInt(blinkFrequency); labelString = getParameter("lbl"); if (labelString = null) labelString = "Blink" Font font = n
3、ew java.awt.Font("Serif", Font.PLAIN, 24); setFont(font); 第二题public void actionPerformed(ActionEvent e) try String str = jtfD.getText(); double money= Double.parseDouble(str);jtfU.setText(toRMB(money); catch (Exception ex) JOptionPane.showMessageDialog(null, ex); 第三题public void run() Threa
4、d me = Thread.currentThread(); while (timer = me) try Thread.sleep(100); catch (InterruptedException e) repaint(); 四测试数据及运行结果1正常测试数据(3组)及运行结果;五总结1实验过程中遇到的问题及解决办法;在使用Box时不熟悉它的方法,不知道该如何使用2对设计及调试过程的心得体会。对APPLET的编程不熟悉,该多看看书,查查API六附录:源代码(电子版)1.import java.awt.Color;import java.awt.Dimension;import java.a
5、wt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.util.StringTokenizer;import java.util.Timer;import java.util.TimerTask;public class Blink extends java.applet.Applet private static final long serialVersionUID = -775844794477507646L; private Timer timer; private String labelSt
6、ring; private int delay; public void init() String blinkFrequency = getParameter("speed"); delay = (blinkFrequency = null) ? 400 : (1000 / Integer.parseInt(blinkFrequency); labelString = getParameter("lbl"); if (labelString = null) labelString = "Blink" Font font = new
7、java.awt.Font("Serif", Font.PLAIN, 24); setFont(font); public void start() timer = new Timer(); timer.schedule(new TimerTask() public void run() repaint(); , delay, delay); public void paint(Graphics g) int fontSize = g.getFont().getSize(); int x = 0, y = fontSize, space; int red = (int) (
8、50 * Math.random(); int green = (int) (50 * Math.random(); int blue = (int) (256 * Math.random(); Dimension d = getSize(); g.setColor(Color.black); FontMetrics fm = g.getFontMetrics(); space = fm.stringWidth(" "); for (StringTokenizer t = new StringTokenizer(labelString); t.hasMoreTokens()
9、;) String word = t.nextToken(); int w = fm.stringWidth(word) + space; if (x + w > d.width) x = 0; y += fontSize; if (Math.random() < 0.5) g.setColor(new java.awt.Color(red + y * 30) % 256, (green + x / 3) % 256, blue); else g.setColor(getBackground(); g.drawString(word, x, y); x += w; public v
10、oid stop() timer.cancel(); public String getAppletInfo() return "Title: Blinkern" + "Author: Arthur van Hoffn" + "Displays multicolored blinking text." public String getParameterInfo() String pinfo = "speed", "string", "The blink frequency"
11、 , "lbl", "string", "The text to blink." , ; return pinfo; 2.import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.JApplet;import javax.swing.JButton;import javax.swing.JLabel;import ja
12、vax.swing.JOptionPane;import javax.swing.JTextField;public class ChangeRMB extends JApplet implements ActionListenerprivate JTextField jtfD;private JTextField jtfU;private JButton jbtn = new JButton("Change");public void init()Container con = this.getContentPane();jtfD = new JTextField();
13、jtfU = new JTextField(); jbtn = new JButton("Change"); Box b1 = Box.createHorizontalBox(); b1.add(Box.createHorizontalStrut(10);b1.add(new JLabel("小写"); b1.add(jtfD);b1.add(Box.createHorizontalStrut(10); Box b2 = Box.createHorizontalBox(); b2.add(Box.createHorizontalStrut(10); b2
14、.add(new JLabel("大写");b2.add(jtfU); b2.add(Box.createHorizontalStrut(10); Box b3 = Box.createHorizontalBox();b3.add(Box.createHorizontalStrut(10); b3.add(jbtn); Box b = Box.createVerticalBox();b.add(Box.createVerticalStrut(30); b.add(b1); b.add(Box.createVerticalStrut(30); b.add(b2); b.add
15、(Box.createVerticalStrut(30); b.add(b3); con.add(b); jbtn.addActionListener(this); public void actionPerformed(ActionEvent e) try String str = jtfD.getText(); double money= Double.parseDouble(str);jtfU.setText(toRMB(money); catch (Exception ex) JOptionPane.showMessageDialog(null, ex); public static
16、String toRMB(double money) char s1 = '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' char s4 = '分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟&
17、#39;, '亿', '拾', '佰', '仟', '万' String str = String.valueOf(Math.round(money * 100 + 0.00001); String result = "" for (int i = 0; i <str.length(); i+) int n = str.charAt(str.length() - 1 - i) - '0'result = s1n + "" + s4i + result;
18、result = result.replaceAll("零仟", "零"); result = result.replaceAll("零佰", "零"); result = result.replaceAll("零拾", "零"); result = result.replaceAll("零亿", "亿"); result = result.replaceAll("零万", "万"); resul
19、t = result.replaceAll("零元", "元"); result = result.replaceAll("零角", "零"); result = result.replaceAll("零分", "零"); result = result.replaceAll("零零", "零"); result = result.replaceAll("零亿", "亿"); result = r
20、esult.replaceAll("零零", "零"); result = result.replaceAll("零万", "万"); result = result.replaceAll("零零", "零"); result= result.replaceAll("零元", "元"); result = result.replaceAll("亿万","亿"); result = result.r
21、eplaceAll("零$", ""); result = result.replaceAll("元$", "元整"); result = result.replaceAll("角$", "角整"); return result; 3.import java.applet.Applet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.text.SimpleDateF
22、ormat;import java.util.Date;import java.util.Locale;public class Clock extends Applet implements Runnable private volatile Thread timer; private int lastxs, lastys, lastxm, lastym, lastxh, lastyh; private SimpleDateFormat formatter; private String lastdate; private Font clockFaceFont; private Date c
23、urrentDate; private Color handColor; private Color numberColor; private int xcenter = 80, ycenter = 55; public void init() lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0; formatter = new SimpleDateFormat("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault(); currentDate = new Date(); la
24、stdate = formatter.format(currentDate); clockFaceFont = new Font("Serif", Font.PLAIN, 14); handColor = Color.blue; numberColor = Color.darkGray; try setBackground(new Color(Integer.parseInt(getParameter("bgcolor"), 16); catch (NullPointerException e) catch (NumberFormatException
25、e) try handColor = new Color(Integer.parseInt(getParameter("fgcolor1"), 16); catch (NullPointerException e) catch (NumberFormatException e) try numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"), 16); catch (NullPointerException e) catch (NumberFormatException e) r
26、esize(200, 200); public void update(Graphics g) int xh, yh, xm, ym, xs, ys; int s = 0, m = 10, h = 10; String today; currentDate = new Date(); formatter.applyPattern("s"); try s = Integer.parseInt(formatter.format(currentDate); catch (NumberFormatException n) s = 0; formatter.applyPattern(
27、"m"); try m = Integer.parseInt(formatter.format(currentDate); catch (NumberFormatException n) m = 10; formatter.applyPattern("h"); try h = Integer.parseInt(formatter.format(currentDate); catch (NumberFormatException n) h = 10; xs = (int) (Math.cos(s * Math.PI / 30 - Math.PI / 2)
28、* 45 + xcenter); ys = (int) (Math.sin(s * Math.PI / 30 - Math.PI / 2) * 45 + ycenter); xm = (int) (Math.cos(m * Math.PI / 30 - Math.PI / 2) * 40 + xcenter); ym = (int) (Math.sin(m * Math.PI / 30 - Math.PI / 2) * 40 + ycenter); xh = (int) (Math.cos(h * 30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30 + xcenter); yh = (int) (Math.sin(h * 30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30 + ycenter); formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy"); today = formatter.format(currentDate); g.setFont(clockFaceFont); g.setColor(getBackground();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度计算机四级综合提升测试卷及答案详解【易错题】
- 2024-2025学年园林绿化作业人员真题及参考答案详解【模拟题】
- 2024-2025学年度常州工程职业技术学院单招《数学》常考点试卷含完整答案详解(各地真题)
- 2024-2025学年度医师定期考核考前冲刺试卷附完整答案详解(典优)
- 2024-2025学年度注册核安全工程师考试黑钻押题含答案详解(能力提升)
- 2024-2025学年度法律职业资格考试测试卷含完整答案详解【必刷】
- 2024-2025学年度法律职业资格考试真题(考试直接用)附答案详解
- 2024-2025学年反射疗法师3级检测卷附答案详解AB卷
- 2024-2025学年度河北省单招考试一类 《文化素质数学》每日一练试卷及完整答案详解【网校专用】
- 2024-2025学年度临床执业医师考试综合练习附完整答案详解(易错题)
- parp抑制剂研究进展 课件
- 《水工钢结构》试题及答案1783
- 实习协议书电子电子版(2篇)
- 三级医院评审标准(2023年版)实施细则
- 江苏专转本计算机资料汇编
- GA/T 2002-2022多道心理测试通用技术规程
- 片区更新改造总体规划项目建议书
- LY/T 2499-2015野生动物饲养场总体设计规范
- GB/T 24474.1-2020乘运质量测量第1部分:电梯
- GB/T 13803.2-1999木质净水用活性炭
- GB/T 10870-2001容积式和离心式冷水(热泵)机组性能试验方法
评论
0/150
提交评论