JTextField限制输入数据类型(java GUI)

package javaBasic;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ControlClass {
	public static void main(String[] args) {
		new MyFrame1();
	}
}

class MyFrame1 extends JFrame{
	private JLabel jl;
	private JTextField tf;
	
	MyFrame1()
	{
		this.setTitle("限制键盘输入数据类型");
		this.setSize(400,100);//设置窗口大小
		this.setLocationRelativeTo(null);//窗口居中显示     #先设置大小,后设置居中,否则居中不能达到效果
		//this.setSize(new Dimension());
		this.setResizable(true);//设置窗口大小是否可改变
		
		jl = new JLabel("请用键盘输入银行号密码(友情提示:密码只能为数字类型)");
		tf = new JTextField(10);//创建文本域 并设置宽度(此时宽度不设也OK)
		
		jl.setBounds(100,10,100,15);
		
		tf.addKeyListener(new KeyAdapter() {
			public void keyTyped(KeyEvent e) {
				char keyChar = e.getKeyChar();				
				if(!(keyChar >= '0' && keyChar <= '9')){
					e.consume(); //缺点,不能控制赋值黏贴的内容
				}
			}
		});
		
		this.add(jl);
		this.add(tf);
		this.setLayout(new FlowLayout());//设置布局方式
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);//程序结束时关闭JVM
		this.setVisible(true);//显示窗口 #做完一切工作后,再让大作显示出来呀			
	}
}

调试结果如下:

猜你喜欢

转载自blog.csdn.net/Moliay/article/details/84571553