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();
	}

}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-07-30 09:47:09

java它 ------ 图形界面(两)的相关文章

Java swing五子棋源码及实现之Java 开发图形界面程序五子棋的实现方式

今天给大家介绍一下如何用Java swing实现五子棋的开发即用Java开发图形界面程序五子棋,代码由于太多,只贴部分,最下面会附上下载地址,废话不多说,下面我们先看一下运行结果: 接下来我们看代码: 首先是创建主frame框架界面: package org.liky.game.frame; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; import

JAVA与图形界面开发(Applet应用程序、AWT库、Swing)

Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destroy<可选>)即可. 3)Applet生命周期: 初始化阶段:init方法(自动被调用,完成图形组件的初始化和版面分配) 执行阶段:start方法(当Applet当前窗口被激活时,执行相应代码) 终止阶段:stop方法(关闭Applet程序时) 释放资源:destroy方法 4)向Applet里添

Java GUI图形界面开发工具

Applet 应用程序     一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需安装 4.平台无关性 5.安全 Applet 的生命周期 编写一个 Applet 程序,需要继承 JApplet 类,这个类提供了 Applet 程序的基本行为方式,只需要覆写其中的方法就可以完成我们自己的 Applet 程序. 生命周期 1.初始化阶段:init 方法 在 Applet 执行之初,

Java 【图形界面设计】

图形界面设计总体可分为三大部分:组件.事件.布局 1.组件 原文地址:https://www.cnblogs.com/versionk/p/10713867.html

java基础图形界面和IO系统

1,java界面系统 事件的驱动编程:事件源,生成一个事件并触发他的组件称为事件源. 事件监听器.注册和事件处理:事件监听分类:分为GUI程序本身实现监听.使用成员内部内监听.匿名内部内监听:使用最多的还是匿名内部内实现监听: 事件适配器:使用适配器可以降低程序员的代码量.模型:把模型和控制器分离有利于多个模型共享一套数据: 2,I/O系统 流的分类:输入流和输出流.节点流和处理流: 文件类:分为字节流.字符流:字节流又分为低级字节流和高级字节流:高级字节流分为3大类(过滤流类.缓冲流.数据流等

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; imp

Java Swing 图形界面实现验证码(验证码可动态刷新)

import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.Random;import javax.swing.JFrame; public class CheckCode extends JFrame {

java之 ------ 图形界面(三)

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.TitledBorder; public class UserJFrame extends JFrame implements ActionListener { private int number=1; //编号 private JTextField text_number, text_name; //编号.姓名

Java JFrame图形界面 ----一个简单的窗口

#开始 申请博客已经有一段时间了 但是一直没有时间写博文(其实还是懒虫侵蚀了大脑) 最近正在学习JFrame做窗口 遇到了很多的问题 为了解决问题也谋杀了很多的脑细胞 为了让更多的朋友不死的很多脑细胞我把学习的时候遇到的问题给写出来了 就当是自己的备忘录了 萌新 大佬勿喷 学习过程中参考了网上很多博客 在这里谢谢大家共享知识 也希望我的代码和经验可以帮助到更多的人 : ) #代码 用Java做窗口我发现一个显著的特点就是实现窗口功能的方法不唯一 或者说有很多 先做一个JFrame的Hello,w