⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample23_4.java

📁 Java SE 6.0前19-25章示的示例代码,简单易学
💻 JAVA
字号:
package wyf.jc;
import java.text.*;
import javax.swing.*;
import javax.swing.text.*;
import java.beans.*;
import java.awt.event.*;
//定义该类继承自JFrame
public class Sample23_4 extends JFrame implements PropertyChangeListener,ActionListener
{
	//创建JPanel容器
	private JPanel jp=new JPanel();
	//创建两个标签
	private JLabel[] jlArray=
	 {new JLabel("数值格式text:12.44"),new JLabel("数值格式value:12.44"),
	new JLabel("数值格式"),new JLabel("掩码格式")};		
	//创建两个具有不同格式器的格式化文本框
	private JFormattedTextField[] jftf={new JFormattedTextField(NumberFormat.getInstance()),
									new JFormattedTextField(getFormatter("######"))};
	public Sample23_4()
	{
		//设置数值格式文本框的初始值
		jftf[0].setValue(Double.valueOf("12.44"));
		//为数值格式文本框添加PropertyChangeEvent事件监听器
		jftf[0].addPropertyChangeListener(this);
		//为数值格式文本框添加ActionEvent事件监听器
		jftf[0].addActionListener(this);
		//设置JPanel容器的布局管理器
		jp.setLayout(null);
		//设置标签的大小位置,并将其添加进容器中
		for(int i=0;i<jlArray.length;i++)
		{
			jlArray[i].setBounds(20,20+i*35,180,30);
			jp.add(jlArray[i]);
		}
		//设置格式化文本框的大小位置,并将其添加进容器中
		for(int i=0;i<jftf.length;i++)
		{
			jftf[i].setBounds(90,12+(i+2)*40,200,26);
			jp.add(jftf[i]);
		}	
		//将JPanel容器添加进窗体
		this.add(jp);
		//设置窗体的标题、大小位置以及可见性
		this.setTitle("格式化文本框示例");
		this.setResizable(false);
		this.setBounds(100,100,350,220);
		this.setVisible(true);
	}
	//获取MaskFormatter格式器的方法
	private MaskFormatter getFormatter(String s)
	{
		MaskFormatter mf=null;
		try
		{//根据传递的掩码字符串创建MaskFormatter格式器
			mf=new MaskFormatter(s);
		}
		catch(ParseException e)
		{
			e.printStackTrace();
		}
		//将格式器返回
		return mf;
	}
	//实现PropertyChangeListener接口中处理PropertyChangeEvent事件的方法
	public void propertyChange (PropertyChangeEvent evt)
	{
		//获取并显示数值格式文本框的text值
		jlArray[0].setText("数值格式text:"+jftf[0].getText());
		//获取并显示数值格式文本框的value值
		jlArray[1].setText("数值格式value:"+jftf[0].getValue().toString());
	}
	//实现ActionListener接口中处理ActionEvent事件的方法	
	public void actionPerformed(ActionEvent e)
	{
		//获取并显示数值格式文本框的text值
		jlArray[0].setText("数值格式text:"+jftf[0].getText());
		//获取并显示数值格式文本框的value值
		jlArray[1].setText("数值格式value:"+jftf[0].getValue().toString());		
	}
	public static void main(String[] args)
	{
		//创建Sample23_4窗体对象
		new Sample23_4();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -