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

📄 textfielddemo.java

📁 电子工业出版社出版的《java2应用开发指南》配套光盘源代码
💻 JAVA
字号:
//TextFieldDemo.java
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.event.*;

public class TextFieldDemo extends JFrame
{
	public TextFieldDemo()
    {
        //获取内容窗格容器
        Container contentPane= this.getContentPane();
        //设置内容窗格容器的布局管理器为FlowLayout
        contentPane.setLayout(new FlowLayout());
        //内容窗格容器中加入两个文本组件,第一个只能输入数字        
        DigitalText txtDigitalText = new DigitalText(10);
	    JTextField txtNormal = new JTextField(10);
	    contentPane.add(txtDigitalText);
        contentPane.add(txtNormal);
        
        //显示框架窗口
		pack();
    	setVisible(true);
    }
	//应用程序的入口方法
	public static void main(String args[]) 
	{
		 TextFieldDemo frame = new TextFieldDemo();
		 //添加框架窗口的事件监听(监听关闭框架窗口事件)
		 frame.addWindowListener(new WindowAdapter() {
		    public void windowClosing(WindowEvent e) {
		        //正常推出Java虚拟机
		        System.exit(0);
		    }
		});
	}
}
//该类从JTextField中派生,只允许用户输入数字
class DigitalText extends JTextField
{
   	//构造方法
    public DigitalText()
    {
    }
	//构造方法
   	public DigitalText( int column)
    {
    	super(column);
    }
    //构造方法
    public DigitalText(String strText, int column)
    {
        super(strText,column);
    }
	//重写方法,用于创建Document模型
    protected Document createDefaultModel()
    {
        //TODO: Override this javax.swing.JTextField method
        return new DigitalTextDocument();
    }
	
	class DigitalTextDocument extends PlainDocument
	{
	    //重写该方法,用于检查用户输入的字符以确保插入的字符是有效的数字字符
	    public void insertString( int offs, String str, AttributeSet a) 
	    						throws BadLocationException
	    {
	        if( str == null ) return;
	        try{
	            Integer.parseInt(str);
	            super.insertString(offs,str,a);
	        }
	        catch ( NumberFormatException e){
	            JOptionPane.showMessageDialog(null,
	                        "请输入数字。",
	                        "验证错误",
	                        JOptionPane.ERROR_MESSAGE);
	            
	        }
	    }
	}
}

⌨️ 快捷键说明

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