Swing —— 限制JTextArea只能输入浮点数
来源:互联网 发布:淘宝卖家需要评价 编辑:程序博客网 时间:2024/04/28 20:37
下面是示例代码:
[复制源代码]
class JTextFieldFilterextends PlainDocument {
public static final StringFLOAT = "0123456789.";
protected String acceptedChars = null;
protected boolean negativeAccepted =false;
public JTextFieldFilter() {
this(FLOAT);
}
public JTextFieldFilter(String acceptedChars) {
this.acceptedChars = acceptedChars;
}
/**
*设置是否接受负号
*
* @param negativeAccepted
* 是否接受负号
*/
public void setNegativeAccepted(boolean negativeAccepted) {
if (acceptedChars.equals(FLOAT)) {
this.negativeAccepted = negativeAccepted;
acceptedChars += "-";
}
}
public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException {
//判断输入的是否为允许的字符
for (int i = 0; i < str.length(); i++) {
if (!acceptedChars.contains(str)) {
return;
}
}
//判断当前输入的是否为".",如果有了再判断前面有没有输入过
if (acceptedChars.equals(FLOAT)
|| (acceptedChars.equals(FLOAT +"-") && negativeAccepted)) {
if (str.contains(".")) {
if (getText(0, getLength()).contains(".")) {
return;
}
}
}
//判断如果支持负数,那么负号(-)必须在第一位
if (negativeAccepted) {
if (str.indexOf("-") != 0 || offset != 0) {
return;
}
}
super.insertString(offset, str, attr);
}
}
publicclass Main extends JFrame {
public static void main(String[] argv)throws Exception {
new Main();
}
public Main() {
setLayout(new FlowLayout());
JLabel lb = new JLabel("only float");
JTextField tf = new JTextField(10);
getContentPane().add(lb);
getContentPane().add(tf);
tf.setDocument(new JTextFieldFilter(JTextFieldFilter.FLOAT));
setSize(300, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
- Swing —— 限制JTextArea只能输入浮点数
- JavaScript限制文本框只能输入整形或浮点数类型
- JS限制文本框只能输入整形或浮点数
- 限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
- Swing —— 扩展PlainDocument限制JTextField只能输入字母与数字
- 正则限制文本框只能输入数字||只能是数字和一个小数点||只能是整数和浮点数
- 如何实现文本框只能输入浮点数
- 文本框只能输入数值或浮点数
- 控制TextBox只能输入浮点数
- Android开发 Edittext限制输入浮点数
- QTableWidget中限制输入整数、浮点数
- QLineEdit限制输入(整数、浮点数)
- 限制swing中的JTextField只能输入中文,字母,数字。
- JAVA基础:SWING中JTextField限制只能输入数字
- 使用Javascript控制文本框只能输入整数或浮点数
- js 只能输入正浮点数和整数
- jquery 数据校验,input只能输入浮点数
- 小知识点——限制文本框只能输入数字
- java中final的意义
- Linux 经典书籍 推荐
- Thunderbird开机启动
- C++基础
- LOGCAT没有输出问题解决
- Swing —— 限制JTextArea只能输入浮点数
- 在编写xsd文件时,不能使用xml注释,否则会导致NetBeans没有代码提示功能
- Spring 知识点
- ADO.net框架 概述
- 二进制中1的个数
- OpenGL的坐标系
- Linux Git从零开始(以Ubuntu12.04为例)
- ORACLE VIEW
- VS2013中的C++11新特性