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);//显示窗口 #做完一切工作后,再让大作显示出来呀			
	}
}

调试结果如下:

 

Java GUI 中,如果你想要获取用户输入的数据,可以使用以下组件: 1. JTextField:用于获取单行文本输入。 例如: ```java JFrame frame = new JFrame("Get User Input"); JPanel panel = new JPanel(); JTextField textField = new JTextField(20); panel.add(textField); frame.add(panel); frame.pack(); frame.setVisible(true); String userInput = textField.getText(); ``` 2. JTextArea:用于获取多行文本输入。 例如: ```java JFrame frame = new JFrame("Get User Input"); JPanel panel = new JPanel(); JTextArea textArea = new JTextArea(5, 20); panel.add(textArea); frame.add(panel); frame.pack(); frame.setVisible(true); String userInput = textArea.getText(); ``` 3. JComboBox:用于获取下拉列表选择的数据。 例如: ```java JFrame frame = new JFrame("Get User Input"); JPanel panel = new JPanel(); String[] options = {"Option 1", "Option 2", "Option 3"}; JComboBox<String> comboBox = new JComboBox<>(options); panel.add(comboBox); frame.add(panel); frame.pack(); frame.setVisible(true); String selectedOption = (String) comboBox.getSelectedItem(); ``` 4. JCheckBox:用于获取复选框的选择状态。 例如: ```java JFrame frame = new JFrame("Get User Input"); JPanel panel = new JPanel(); JCheckBox checkBox = new JCheckBox("Check me!"); panel.add(checkBox); frame.add(panel); frame.pack(); frame.setVisible(true); boolean isChecked = checkBox.isSelected(); ``` 以上是一些常见的组件,如果需要获取其他类型的数据,可以查看相应的组件文档或者使用更高级的库。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值