本例演示一个String图形用户界面的完整应用程序,包括输入数据,
显示结果,响应事件以及异常处理。
输入一个实数表示金额,每次输入时显示该金额的中文大小写形式,运行窗口见最后。
在窗口中,“金额”文本行可编辑,作为数据输入编辑框:“中文大写形式”
文本仅显示结果,不可以编辑。金额文本行响应文本编辑事件。当输入数据
错误时,进行异常处理,弹出一个对话框,给出提示信息。
程序如下:

package cn.hncu.gui3;import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Label;import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;public class MoneyJFrame extends JFrame implements CaretListener {JTextField tfdMonry,tfdStr; public MoneyJFrame(String str) {super(str);this.setBounds(300, 240, 500, 140);//(  x位置, y位置  , 宽度,高度)//this.setBackground(java.awt.Color.red);this.getContentPane().setBackground(Color.white);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLayout(new FlowLayout(FlowLayout.RIGHT));Font font = new Font("a",Font.BOLD,20);JLabel lb = new JLabel("金额");lb.setFont(font);this.getContentPane().add(lb);tfdMonry = new JTextField("12345.67",20);tfdMonry.setFont(font);tfdMonry.setHorizontalAlignment(JTextField.RIGHT);this.getContentPane().add(tfdMonry);JLabel lb2 = new JLabel("中文大写形式");lb2.setFont(font);this.getContentPane().add(lb2);tfdStr = new JTextField(20);tfdStr.setFont(font);tfdStr.setHorizontalAlignment(JTextField.RIGHT);tfdStr.setEditable(false);//文本行设为只显示,不可编辑this.getContentPane().add(tfdStr);tfdMonry.addCaretListener(this);//注册文本编辑事件监听器this.setVisible(true);}@Overridepublic void caretUpdate(CaretEvent e) {
//      System.out.println("kkk");String str = tfdMonry.getText();try {double x = Double.parseDouble(str);tfdStr.setText(RMBtoString(x));} catch (NumberFormatException e1) {JDialog dlg = new JDialog(this,true);dlg.setSize(300,80);dlg.add(new JLabel(str+"不能转换成浮点数,请重新输入!"));int lx = this.getX();int ly = this.getY();dlg.setLocation(lx+20, ly+20);dlg.setVisible(true);}}private String RMBtoString(double x) {String digit = "零壹贰叁肆伍陆柒捌玖";String yuan = "亿千百拾万千百拾元角分";String result = "";int y =(int )(x*100+0.5);int i =yuan.length()-1;while(y>0 && i>0){String str = ""+digit.charAt(y%10)+yuan.charAt(i);result = str + result;y=y/10;i--;}//System.out.println("result");return result;}public static void main(String[] args) {new MoneyJFrame("金额的中文大写形式");}
}

正常转换:

出异常处理:

java---金额中文大小写实时转换小程序相关推荐

  1. 实时汇率转换小程序(c++爬虫)

    实时汇率转换小程序(c++爬虫) 利用c++网络爬虫爬取网页的实时汇率进行汇率的转换! 其中也利用了QT进行了页面设计! #define _SILENCE_STDEXT_HASH_DEPRECATIO ...

  2. python美元汇率兑换程序代码_还可以这样玩?用Python完成一个在线汇率转换小程序...

    原标题:还可以这样玩?用Python完成一个在线汇率转换小程序 大家好,小数在这里给大家拜个早年啦 今天给大家分享的是用Python完成一个在线汇率转换小程序,是基于一个持续更新的汇率网站实现的,让我 ...

  3. java字符串变成字母,java字符串的大小写字母转换

    java怎样将大写字母转换成小写字母 具体代码如下,字符串中大.小写互转 1)输入 第一行只有一个整数m(m java 字符串指定位置的字母大小写转换 例如把 String Sa="SDFE ...

  4. java毕业设计儿童疫苗接种提醒系统小程序服务端Mybatis+系统+数据库+调试部署

    java毕业设计儿童疫苗接种提醒系统小程序服务端Mybatis+系统+数据库+调试部署 java毕业设计儿童疫苗接种提醒系统小程序服务端Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构 ...

  5. 「推荐」怎么实时接收小程序客服消息通知,并在手机上回复

    在微信小程序开发中,可以非常方便的集成客服功能,只需要一行代码便可以将用户引导至客服会话界面.这行代码就是: <button open-type="contact" bind ...

  6. java 交易金额转换分,java金额元与分转换工具种

    java金额元与分转换工具类 java金额元与分转换的一个工具类. 1.元转分: 可传入字符串或者long型(隐式转换为long型也可)整数. 若传入为字符串,则通过替换小数点的方式转换,小数点有多位 ...

  7. java+SpringBoot+HTML+Mysq基于微信小程序的掌上博物馆游览

    详细功能设计:请点击下面链接查看 java+SpringBoot+HTML+Mysq基于微信小程序的掌上博物馆游览_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 摘  要 本 ...

  8. 实现北京公交实时预警小程序

    实现北京公交实时预警小程序 北京的天冷的太快,在后厂村的公交站台冻的要死要活几年之后,终于决定动手写个公交到站时间预报的程序,以便能舒服坐在工位等我的公交车. 美好想法是:当我处在公司累死累活加班以致 ...

  9. java计算机毕业设计基于安卓/微信小程序的大学生心理测试咨询管理系统app

    项目介绍 随着社会经济的发展,医疗卫生事业取得了巨大进步,在健康中心理健康占据越来越重要的地位,什么是心理健康:心理健康,从广义上讲,是指一种高效而满意的.持续的心理状态.从狭义上讲,心理健康是指人的 ...

  10. 实时公交小程序开发有哪些功能和优势?

    实时公交小程序开发有哪些功能和优势?实时公交小程序开发给人们的生活带来极大便利,查询公交站台详情让人们能够合理规划时间,从此再也不用花费多余时间等待公交. 那么实时公交小程序开发具备哪些功能呢? 1. ...

最新文章

  1. MSSQL2000 数据库文件迁移到 MSSQL2005 可能要用的一些命令
  2. Kettle实例解析
  3. Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合
  4. 习题3-11 Kickdown UVA - 1588
  5. iOS开发 CGAffineTransform 让图片旋转, 旋转后获得图片旋转的角度
  6. nginx与IIS服务器搭建集群实现负载均衡(三)
  7. bat 设置变量带中文
  8. PowerShell通过Word批量打印文件
  9. UINO优锘:产品实施“八步法”让客户感受DCV实施的专业性
  10. 东芝发布全系列消费级硬盘
  11. 超强大在线词频统计功能,从一篇文章到一个G的文本均可轻松统计
  12. 手机计算机怎么玩24点游戏,计算器游戏怎么玩 新手前期玩法介绍
  13. JavaBeans技术的应用
  14. 点云入门笔记(三):PCL基础以及PCL学习指南
  15. 计数器/定时器8253/8254
  16. 有趣的代码:一行Python代码能干嘛?
  17. JavaScript要点(不含有语言基础语法)
  18. 智邦国际31.85版本ERP系统好不好用?有哪些作用?
  19. 莫扎特金色的童年和少年
  20. Hadoop 2.8.5 完全分布式HA高可用安装(二)--环境搭建

热门文章

  1. 双线性插值bilinear interpolation
  2. Apollo课程学习2——高精地图HD Map
  3. win10系统安装sql不上服务器,win10安装sql2000没有反应怎么办_win10安装不了sql2000的解决方法...
  4. 理解SSD核心技术FTL
  5. matlab仿真plc程序,电气工程PLC控制和Matlab-Simulink仿真模拟的一种翻译方法毕业论文外文文献翻译.doc...
  6. 基于c语言的象棋游戏-附带人机算法
  7. 非对称加密算法 (RSA、DSA、ECC、DH)
  8. 今年秋季 MacBook Pro 将迎来六大变化
  9. html5拾色器功能,html5 学习简单的拾色器
  10. DIY LDAC蓝牙接收器(一)预备篇