📄 sample23_4.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 + -