java它 ------ 图形界面(两)
<img src="http://img.blog.csdn.net/20150604093446275?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTQ3OTg3NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
import java.awt.FlowLayout;
import java.awt.GridLayout; import javax.swing.JButton;
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{
private JTextField textMoney,textStr;
private MessageJDialog jdialog; public MoneyJFrame(){
super("金额的中文大写形式");
this.setSize(360, 90);
this.setLocationRelativeTo(null);//设置窗体居中
this.setResizable(false);//设置窗体大小不能改变
this.setBackground(java.awt.Color.lightGray);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);//单击关闭button时。结束程序执行
this.getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT));
this.getContentPane().add(new JLabel("金额"));
textMoney=new JTextField("12345678.90",22);
this.getContentPane().add(textMoney);
textMoney.addCaretListener(this);//注冊文本编辑事件。即文本编辑器中要有变化就响应
this.getContentPane().add(new JLabel("中文大写形式"));
textStr=new JTextField(22);
textStr.setHorizontalAlignment(JTextField.RIGHT);
textStr.setEditable(false);
this.getContentPane().add(textStr);
caretUpdate(null);//执行文本编辑事件,相当于初始化
this.setVisible(true);
jdialog=new MessageJDialog();//创建对话框对象
} private class MessageJDialog extends JDialog{//消息对话框,私有实例内部类,对象嵌套
private JLabel jlabel;
public MessageJDialog(){//内部类的构造方法
super(MoneyJFrame.this,"提示",true);//MoneyJFrame.this引用外部类的当前对象(即对话框所依附的框架窗体)true表示吗。模式窗体(即仅仅有对话窗体关闭或操作完才干对依附框架窗体进行操作)
this.setSize(300, 80);
//this.setLayout(new GridLayout(2,1));
jlabel=new JLabel("",JLabel.CENTER);
this.getContentPane().add(jlabel);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
//this.add(new JButton("确定"));
} private void show(String message){//对话框的显示
jlabel.setText(message);
this.setLocation(MoneyJFrame.this.getX()+100, MoneyJFrame.this.getY()+100);//对话框位置在框架下方
this.setVisible(true);
}
} public void caretUpdate(CaretEvent e) {//文本编辑事件处理方法
try {
double x=Double.parseDouble(textMoney.getText());
textStr.setText(RMBtoString(x));
} catch (NumberFormatException e1) {
jdialog.show("\""+textMoney.getText()+"\" 不能转换成浮点数,请又一次输入!");
}
} private String RMBtoString(double x) {//将x表示的金额转换成中文大写形式
String yuan="亿千百拾万千百拾元角分";
String digit="零壹贰叁肆伍陆柒捌玖";
String result="";
int y=(int) (x*100);//浮点数扩充100倍后取整(保留两位有效数字)
for(int i=yuan.length()-1;y>0&&i>0;i--,y/=10){
result=""+digit.charAt(y%10)+yuan.charAt(i)+result;
}
return result;
} public static void main(String[] args) {
new MoneyJFrame();
} }
版权声明:本文博客原创文章。博客,未经同意,不得转载。
java它 ------ 图形界面(两)的更多相关文章
- Java自学-图形界面 容器
Swing 的容器 JFrame和JDialog java的图形界面中,容器是用来存放 按钮,输入框等组件的. 窗体型容器有两个,一个是JFrame,一个是JDialog 步骤 1 : JFrame ...
- 【计项02组01号】Java版图形界面计算器
Java版图形界面计算器1.0版本 项目分析[1.0] 组成部分 代码结构 (1)窗口的创建 在<JDK 核心 API>中我们提到,创建一个窗口需要使用 JFrame 类.在本实验中,我们 ...
- Java的图形界面依然是跨平台的
Awt:抽象窗口工具箱,它由三部分组成: ①组件:界面元素: ②容器:装载组件的容器(例如窗体): ③布局管理器:负责决定容器中组件的摆放位置. 图形界面的应用分四步: ① 选择一个容器: ⑴wind ...
- Java Swing 图形界面开发(目录)
Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...
- Java Swing图形界面开发
本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...
- Java GUI图形界面开发工具
Applet 应用程序 一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...
- Java自学-图形界面 Swing中的线程
Swing中的线程 步骤 1 : 三种线程 在Swing程序的开发中,需要建立3种线程的概念 初始化线程 初始化线程用于创建各种容器,组件并显示他们,一旦创建并显示,初始化线程的任务就结束了. 事件调 ...
- JAVA与图形界面开发(Applet应用程序、AWT库、Swing)
Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destr ...
- java的图形界面初学惯用
1.单一界面的创建 public void mainFrame() { HashMap<String, Component> views = new HashMap<String, ...
随机推荐
- Drupal 7 电子邮件的发送设置 SMTP, Mail System, Mime Mail
尽管Drupal自带发送email功能,可是非常多server须要SMTP验证.这个时候就须要安装 SMTP 模块. 激活 SMTP 模块 进入配置 admin/config/system/smtp ...
- RTF 格式 说明
摘要: 本文对RTF文件格式进行分析研究,对RTF文件结构及特性进行了阐述,并分别列举了几个有用性的样例进行具体分析, 终于通过VB程序代码实现了一个RTF书写器(不具有所见即所得特性).本文对软件开 ...
- Java的Log系统介绍和切换(转)
Java的log系统比较繁杂.在这里梳理一下.本文只涉及log系统介绍和处理log系统之间的切换.不涉及如何配置和使用. 具体的log系统 Log4j:准确的说是log4j 1.x版.是之前使用最广泛 ...
- Golang在Linux环境下的POSIX风格socket编程
这里给出一个服务端和client,服务端能够接受多个连接,而且利用Go的杀手特性go和channel来替代select进行数据的接收. 服务端: package main import ( " ...
- iOS相机去黑框
自己定义相机的时候,调用系统的相机,因为相机的分辨率,会出现短小的矩形框,总会出现黑色边框,例如以下图: 假设想实现全屏相机的话,这样做就能够了: CALayer *viewLayer = self. ...
- android下获取无线wif信号、ssid、MAC等操作类
一个android下获取无线wif信号.ssid.MAC等操作的类. WifiAdmin.java package com.afu; import java.util.List; import and ...
- Enum变量值的Discretion
有些时候,某个方法的返回值是个枚举类型,比如描述登录结果: public enum LoginResult { Success, WrongPassword, } 当前段UI获取到登陆方法的返回结果时 ...
- 苹果Swift编程语言新手教程【中文版】
文件夹 1 简单介绍 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简单介绍 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objecti ...
- 如何将IPhone应用软件发布到App Store的
转自:http://www.shtion.com/667.html 怎样将IPhone应用程序软件公布到应用程序商店? 2009年10月19日公布 分类: App store, iphone, 手机应 ...
- Xamarin.Android 在VS下调试时提示 In mgmain JNI_OnLoad 程序“Mono”已退出 解决办法
原因是使用了破解版的 Xamarin,调试时不能使用共享库