Java 键盘事件监听器

通过捕获文本框的键盘事件实现只允许输入数字的文本框

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.*;

public class t3 extends JFrame{
	
	private static final long serialVersionUID = 1L; 
	private JTextField textField;
	private JTextField textField_1;
	
	public t3() {
		setTitle("Hern");
		setBounds(400, 400, 400, 400);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		final JPanel panel = new JPanel();
		add(panel, BorderLayout.NORTH);

		final JLabel label = new JLabel();
		label.setText("方式一:");
		panel.add(label);

		textField = new JTextField();
		textField.addKeyListener(new KeyListener() {

			int keyCode;

			public void keyPressed(KeyEvent e) {
				keyCode = e.getKeyCode();
			}

			public void keyTyped(KeyEvent e) {
				if (keyCode < KeyEvent.VK_0 || keyCode > KeyEvent.VK_9)
					e.consume();
			}

			public void keyReleased(KeyEvent e) {
			}

		});
		textField.setColumns(20);
		panel.add(textField);

		final JPanel panel_1 = new JPanel();
		add(panel_1, BorderLayout.CENTER);

		final JLabel label_1 = new JLabel();
		label_1.setText("方式二:");
		panel_1.add(label_1);

		textField_1 = new JTextField();
		textField_1.addKeyListener(new KeyAdapter() {

			String num = "0123456789";

			public void keyTyped(KeyEvent e) {
				if (num.indexOf(e.getKeyChar()) < 0)
					e.consume();
			}

		});
		textField_1.setColumns(20);
		panel_1.add(textField_1);
		
		setVisible(true);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		t3 test = new t3();

	}

}

猜你喜欢

转载自blog.csdn.net/qq_36761831/article/details/81585777