-
2021-02-12 10:55:32
package com.han;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;
/**
* Customized fields can easily be created by extending the model
* and changing the default model provided. For example,
* the following piece of code will create a field that holds only
* digit characters. It will work even if text is pasted into from
* the clipboard or it is altered via programmatic changes.
* @author HAN
*
*/
public class DigitOnlyField extends JTextField {
/**
*
*/
private static final long serialVersionUID = 8384787369612949227L;
public DigitOnlyField(int cols) {
// super() 可以被自动调用,但是有参构造方法并不能被自动调用,只能依赖
// super关键字显示地调用父类的构造方法
super(cols);
}
protected Document createDefaultModel() {
return new UpperCaseDocument();
}
static class UpperCaseDocument extends PlainDocument {
/**
*
*/
private static final long serialVersionUID = -4170536906715361215L;
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
if (str == null) {
return;
}
char[] upper = str.toCharArray();
String filtered = "";
for (int i = 0; i < upper.length; i++) {
if (Character.isDigit(Character.codePointAt(upper, i))){
filtered += upper[i];
}
}
super.insertString(offs, filtered, a);
}
}
}
更多相关内容 -
Java 文本框输入数字限制以及输入数字大小限制
2021-02-12 10:55:31问题:之前我有一篇博文也写了这个问题,也是使用的字符串来控制文本框的输入数字不过,那篇博文给的方法只能限制数字输入,以及数字输入长度的限制今天给出可以限制输入数字大小的方法,例如:希望输入的数字最大不...问题:
之前我有一篇博文也写了这个问题,也是使用的字符串来控制文本框的输入数字
不过,那篇博文给的方法只能限制数字输入,以及数字输入长度的限制
今天给出可以限制输入数字大小的方法,例如:希望输入的数字最大不能超过35,那么36是绝对输入不进去的
而且,其他字符也是不能输入进去的
有兴趣的可以自己改成浮点数的输入大小限制(转载请说明来源:http://blog.csdn.net/Kilper)
代码:
package Test.csdn;
import java.awt.GridLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
* @ClassName NumLimit
* @Description 通过字符串来控制JTextField输入数字以及数字大小的示例
* 只能控制正整数的输入(没有包括0,因为设置了第一位不能输入0,如有需要可以自己更改)
* 如果有什么疑问请到作者博客留言或评论,博客地址在下面一行
* 有兴趣的可以改成浮点数的输入大小限制,Kilper就不再写浮点数的示例了
* @author Kilper http://blog.csdn.net/Kilper
* @date 2010-8-24 下午05:08:40
*
*/
public class NumLimit extends JFrame {
/**
* @Fields serialVersionUID : TODO
*/
private static final long serialVersionUID = 1133553442569412104L;
private static JTextField limit;
private static JTextField input;
public NumLimit(String title) {
super(title);
this.setSize(400, 100);
this.add(buildTestPanel()); // 加载面板到窗体中
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭按钮的事件响应
this.setLocationRelativeTo(null); // 窗体位置居中
}
/**
*
* @Title buildTestPanel
* @author Kilper http://blog.csdn.net/Kilper
* @Description: 获得构建好的JPanel面板
* @return JPanel
*/
private JPanel buildTestPanel() {
JPanel panel = new JPanel();
limit = new JTextField();
input = new JTextField();
panel.setLayout(new GridLayout(0, 2));
panel.add(new JLabel("数字输入限制设置限制框:"));
panel.add(limit);
panel.add(new JLabel("数字输入限制验证输入框:"));
panel.add(input);
// 为设置限制框也添加数字输入和大小限制
limit.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
String key = limit.getText();
String value = getLimit(key, 99999); // 该框只能输入最大99999的数字
if (value.indexOf(e.getKeyChar()) < 0)
e.consume();
}
});
input.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
String key = input.getText();
int count = Integer.valueOf(limit.getText().trim());
// 示例讲解:key = "13" count = 135
String value = getLimit(key, count);
// 示例讲解:返回的字符串使得value = "012345";
if (value.indexOf(e.getKeyChar()) < 0) // 如果输入6,则销毁该输入
// 输入字符,则销毁该输入
e.consume(); // 销毁输入
// 如果输入0-5之间,则不做处理,输入的数字会显示在屏幕中
}
});
return panel;
}
/**
*
* @Title getLimit
* @author Kilper http://blog.csdn.net/Kilper
* @Description: 获得限制字符串
* @return String
*/
private String getLimit(String key, int num) {
// 示例讲解:key = "13" count = 135
String value = String.valueOf(num); // value = "135";
int a[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, b = num;
// b = 135,a[] = {0,……};
int len = key.length(), length = value.length();
// len = 2,length = 3;
for (int i = 0; b > 0; i++, b /= 10)
a[length - 1 - i] = b % 10;
// a[] = {1,3,5,0,……};
int in;
if (key.equals(""))
in = 0;
else
in = Integer.valueOf(key) * 10;
// in = 130;
if (len < length - 1) {
if (len == 0)
value = string(1, 9); // 限制第一位不能输入0
else
value = string(0, 9);
} else if (len == length - 1) {
// 进入这里 in = 130 < num = 135
if (in <= num)
if (in == 0)
value = string(1, a[len]);
else
value = string(0, a[len]); // 所以:value = "012345";
else
value = "";
} else {
value = "";
}
// 返回的字符串为:"0123456"
return value;
}
/**
*
* @Title string
* @author Kilper http://blog.csdn.net/Kilper
* @Description: 获得从a开始,到b结束的字符串,例如:a=2,b=6,则返回:"23456"
* @return String
*/
private static String string(int a, int b) {
String value = "";
for (int i = a; i <= b; i++)
value += String.valueOf(i);
return value;
}
public static void main(String[] args) {
NumLimit test = new NumLimit("数字输入和大小测试"); // 新建NumLimit实例
test.setVisible(true);
}
}
-
java实现文本框和文本区的输入输出
2020-09-03 15:45:21主要介绍了java实现文本框和文本区的输入输出的方法和具体示例,有需要的小伙伴可以参考下。 -
java swing 怎么设置文本框只能输入数字
2021-03-06 21:26:18展开全部java swing中利用JFormattedTextField的控件加keyReleased能实现,以下实现的只能输入数字的62616964757a686964616fe58685e5aeb931333337623462文本框代码:importjava.text.ParseException;importjavax....展开全部
java swing中利用JFormattedTextField的控件加keyReleased能实现,以下实现的只能输入数字的62616964757a686964616fe58685e5aeb931333337623462文本框代码:import java.text.ParseException;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author Administrator
*/
public class JFormattedText extends JFrame {
private JFormattedTextField text;
public JFormattedText() {
JPanel panel = new JPanel();
text = new JFormattedTextField(new java.text.DecimalFormat("#0"));
// text = new JFormattedTextField();
// text.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))));
text.setFont(new java.awt.Font("宋体", 0, 12)); // NOI18N
text.setMaximumSize(new java.awt.Dimension(50, 21));
text.setMinimumSize(new java.awt.Dimension(50, 21));
text.setPreferredSize(new java.awt.Dimension(50, 21));
//过滤输入的字符
text.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
String old = text.getText();
JFormattedTextField.AbstractFormatter formatter = text.getFormatter();
if (!old.equals("")) {
if (formatter != null) {
String str = text.getText();
try {
long page = (Long) formatter.stringToValue(str);
text.setText(page + "");
} catch (ParseException pe) {
text.setText("1");//解析异常直接将文本框中值设置为1
}
}
}
}
});
panel.add(text);
this.add(panel);
this.setBounds(200, 100, 100, 100);
}
public static void main(String[] arg) {
new JFormattedText().setVisible(true);
}
}
-
java 24 - 6 GUI之 创建只能输入数字的文本框
2021-03-06 21:25:31需求:创建一个含有标签和文本框的窗体,其中文本框只能输入数字步骤:(大致上)创建窗体对象创建标签对象创建文本框对象把组件添加到窗体中设置标签的监听事件,对键盘按下的数据进行监听设置窗体关闭监听事件设置...需求:
创建一个含有标签和文本框的窗体,其中文本框只能输入数字
步骤:(大致上)
创建窗体对象
创建标签对象
创建文本框对象
把组件添加到窗体中
设置标签的监听事件,对键盘按下的数据进行监听
设置窗体关闭监听事件
设置显示窗体
代码:
public class FrameTest3 {
public static void main(String[] args) {
// 创建窗体对象
Frame f = new Frame("QQ号码");
f.setBounds(300, 300, 500, 400);
f.setLayout(new FlowLayout());//别忘了布局设置
// 创建标签对象
Label l = new Label("请输入QQ号码,非数字显示不出来");
// 创建文本框对象
TextField tf = new TextField(20);
// 把组件添加到窗体中
f.add(l);
f.add(tf);
// 设置窗体关闭监听事件
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// 设置文本框的监听事件,对输入的数据进行监听
// 由于是不让非数字的数据出现到文本框中
// 所以监听对象是键盘:KeyListener键盘侦听器 KeyAdapter 键盘适配器
tf.addKeyListener(new KeyAdapter() {
// public void keyPressed(KeyEvent e)按下某个键时调用此方法。
public void keyPressed(KeyEvent e) {// KeyEvent:键盘类
// 首先得获取到键盘按下的字符
// 然后进行判断是否是数字键,如果不是,则取消这次操作
// public void consume()使用此事件,以便不会按照默认的方式由产生此事件的源代码来处理此事件。
char c = e.getKeyChar();
if (!(c >= '0' && c <= '9')) {
e.consume();
}
}
});
// 设置显示窗体
f.setVisible(true);
}
}
只能输入数字的文本框-php
导读:
java 24 - 8 GUI之创建四则运算计算器(未校验版)
这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...
java 24 - 4 GUI之创建数据转移窗口
需求: 把文本框中的数据,通过点击按钮,转移到文本域中. 同时清空文本框中的数据 代码:(步骤都注释了) public class FrameDemo4 { public static void m ...
java 24 - 7 GUI之 创建多级菜单窗体
需求: 创建多级菜单 步骤: A:创建窗体对象(并设置属性和布局) B:创建菜单栏 C:创建菜单和子菜单 D:逐步添加菜单(子菜单添加到菜单中,菜单添加到菜单栏中) E:窗体中设置菜单栏(菜单栏并不是 ...
Delphi控件之---UpDown以及其与TEdit的配合使用(比如限制TEdit只能输入数字,还有Object Inspector之组件属性的介绍)
最近在开发中使用到了UpDown这个控件,但是因为之前没有使用过,所以很不熟悉,于是就编写了一个简单的demo来学习UpDown以及其结合TEdit的用法. 初步的常用功能的简介 目前(2015.08 ...
js控制文本框只能输入数字 及 常用字符对应ASCII码值
方法一:
在java文件里edittext设置InputType.TYPE_NUMBER_FLAG_DECIMAL, 输入法能输入的是文本输入方式(数字.字母.符号等),和想要只能输入数字和小数点背道而驰. 在 ...
NPOI 生成Excel (单元格合并、设置单元格样式:字段,颜色、设置单元格为下拉框并限制输入值、设置单元格只能输入数字等)
NPIO源码地址:https://github.com/tonyqus/npoi NPIO使用参考:源码中的 NPOITest项目 下面代码包括: 1.包含多个Sheet的Excel 2.单元格合并 ...
JS验证只能输入数字,数字和字母等的正则表达式
JS判断只能是数字和小数点 0.不能输入中文1)
随机推荐
ubuntu sudo update与upgrade的作用及区别
ubuntu sudo update与upgrade的作用及区别 入门linux的同志,刚开始最迫切想知道的,大概一个是中文输入法,另一个就是怎么安装软件.本文主要讲一下LINUX安装软件方面的特点. ...
XAML: x:DeferLoadStrategy, x:Null
x:DeferLoadStrategy="Lazy" - 用于指定一个 UIElement 为一个延迟加载元素 x:Null - null 示例1.x:DeferLoadStrat ...
WKWebView API精讲(OC)
WKWebView API精讲(OC) 前言 鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文. 所有看到本 ...
CCI_chapter 2 Linked Lists
2.1 Write code to remove duplicates from an unsorted linked list /* Link list node */ struct node { ...
halcon预处理函数
颜色空间变换 trans_from_rgb(ImageRed, ImageGreen, ImageBlue :ImageResult1, ImageResult2, ImageResult3 : Co ...
微信小程序onLaunch修改globalData的值
//app.js App({ onLaunch: function (options) { //设置场景值到缓存中: //wx.setStorageSync("scene", op ...
FT_ND_API.dll
ePass1000ND https://blog.csdn.net/li34442779/article/details/44276989 https://www.cnblogs.com/lidabo ...
tensorflow.reshap(tensor,shape,name)的使用说明
tensorflow as tf tf.reshape(tensor, shape, name=None) reshape作用是将tensor变换为指定shape的形式. 其中shape为一个列表形式 ...
《HTTP权威指南》读书笔记:缓存
缓存的定义 Web缓存是可以自动保存常见文档副本的HTTP设备(包括浏览器?) 缓存的作用 减少冗余数据传输 缓解带宽瓶颈(很多网络为本地网络客户端提供的带宽比为远程服务器提供的带宽要宽) 缓解瞬时拥 ...
-
(Java)实现计算两个文本框中的数字
2020-04-19 18:07:26一、代码如下: 实现效果如下: <%@ page contentType="text/html;charset=UTF-8" %> <html> <head> <title>Title</title> </head> <body> ... ret... -
限制文本框输入数字以及小数点
2022-01-21 13:59:34控制限制输入数字小数点(================48代表0,57代表9,8代表空格,46代表小数点 ) /// <summary> /// 控制限制输入数字小数点(================48代表0,57代表9,8代表空格,46代表小数点 ) ///... -
Java文本框和文本区的输入输出
2021-02-12 09:15:28Java文本框和文本区的输入输出下一节>在GUI中,常用文本框和文本区实现数据的输入和输出。如果采用文本区输入,通常另设一个数据输入完成按钮。当数据输入结束时,点击这个按钮。事件处理程序利用getText()方法从... -
文本框输入限制
2021-02-26 17:22:253只能输入字母和汉字4只能输入英文字母和数字,不能输入中文5只能输入数字和英文chun6小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:7小数点后只能有最多两位(数字,字母,中文都可输入),可以输入... -
Java文本框只能输入数字,键盘监听,以及判断字符串是否只是数字,并去除前面多余的0
2018-01-12 17:00:14文本框中只能输入数字: Box1jTextField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { int temp = e.getKeyChar(); -
如何自动计算JAVA中文本字段的输入数值
2021-03-09 00:26:55我建议使用DocumentFilter这将允许我们用1石头杀死2只鸟...下面是我使用DocumentFilter的示例,您将看到每次输入/添加到JTextField时都会更新Total字段(也不会允许字母字符等只有数字):import java.awt.GridLayout;i... -
JAVA中在窗体中添加了一个文本框,然后再文本框中输入字符,如何
2021-04-14 10:41:48该楼层疑似违规已被系统折叠隐藏此楼查看此楼具体的代码在这里:import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.... -
文本框只允许输入数字_仅允许在文本框中输入数字的功能
2020-07-09 17:23:25文本框只允许输入数字 这是一种将文本框中的用户输入限制为仅数字字符的方法。 我已经创建了一个函数,并将其放到保存我的自定义函数的Class模块中。 要从任何要限制为数字输入的文本框控件的KEYPRESS事件中调用该... -
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2020-12-12 07:43:39很多时候需要用到限制文本框的数字输入,试过许多方法,都不太理想,遂决定自己实现一个来玩玩。 曾经使用过的方法 通过onkeydown事件来控制只允许数字: 代码如下: <input onkeydown=”return event.keyCode>... -
java文本框判空
2021-03-08 17:03:28下面是部分代码请帮忙看看哪里有问题n值的判断是有效的但是判空无效文本框为空时点击按钮后没有反应classListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente)...下面是部分代码 请帮忙看看... -
java在文本框中输入数字,当数字大于1000时提示大于一千。
2011-03-28 22:26:40输入一个数字,当数字大于1000时弹出确认对话框,提示是否将数字加入文本框中,选择是加入,选择否不加入,并且有简单的是否是数字的判断,如果不是数字就会弹出提示对话框,但这仅仅是简单的数字判断,如果是数字加... -
ValidarNumeros:验证仅允许以Java语言输入数字的文本框
2021-05-21 12:05:38验证号码 验证仅允许以Java语言输入数字的文本框 -
javascript之文本框输入四个数字自动加空格的脚本
2020-12-01 20:15:02随便输入多个字符,就会发现四个数字自动加空格的 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] -
怎么让文本框只能输入数字呢?
2021-03-09 19:18:22增加了一些类,现在可以实现只可以输入数字这一个功能了import java.applet.Applet;import java.awt.Button;import java.awt.Event;import java.awt.Label;import java.awt.TextField;import javax.swing.... -
Java编程获取文本框的内容实例解析
2021-03-10 07:40:31在JAVA中如何获取文本框中输入的值,并保存在一个文件之中。具体代码如下:import java.io.*;import javax.swing.*;import java.awt.FlowLayout;import java.awt.event.*;public class WriterTo extends JFrame ... -
javase学习记录之------控制在文本框中只能输入数字字符案例
2020-10-31 10:30:44import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent;...你输入的如果是非数字字符,就曲序你键盘录入的效果 */ public class Test { public static void main(String[] args) { -
GUI之Java限制文本框输入的字数
2020-07-08 23:46:51jTextField4.addKeyListener(new java.awt.event.KeyListener() { @Override public void keyTyped(KeyEvent e) { //这个是键入的实现方法 //获取文本长度 String s = jTextField3.getText(); //当... -
Java+Selenium框架:解决文本框联想内容自动输入
2021-08-24 15:00:03背景:在完成UI自动化过程中,会遇到文本框,在输入内容后,会出现联想选项,有些类似下拉框但又不同于下拉框的操作,例如携程:如上,想从联想的内容中选择某一项输入,该如何实现?好,明白了,超级厉害,马上F12... -
文本框只允许输入数字_HTML文本输入仅允许数字输入
2020-10-14 02:17:38文本框只允许输入数字Applications expecting numeric values for the input is generally a pain for developers. Because we have to check given values whether they are number or alphabet. We have some text... -
javascript限制文本框输入值类型的方法
2020-12-11 03:30:46本文实例讲述了javascript限制文本框输入值类型的方法。分享给大家供大家参考。具体分析如下: 要求:所有的文本框,只能输入数字和小数点,其他的符号一概不能输入; 重点是我希望在用户输入时就做限制,而不是提交... -
java中监听器的简单介绍。窗口实现一个文本框随另一个文本框输入而实时自动更新。
2022-03-12 15:45:25java实现自动更新实时更新的触发事件。当我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值,也就是说随着你输入的变化,另一个文本区不断地更新求和及平均值。 -
JFrame 实现文本框输出数字平方(ActionEvent事件处理)
2019-10-11 23:05:50当在第一个文本框中输入数字并按Enter后,将会在第二个文本框中输出计算出这个数的平方,并在命令行中输出计算出这个数字的立方。 分析: 事件源-----第一个文本框对象 import javax.swing.*; import java.awt.*...