📄 jnumberjtextfield.java
字号:
package com.sunfruit.comm.swing.ui;
import javax.swing.JTextField;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.text.BadLocationException;
import java.awt.Toolkit;
import javax.swing.text.AttributeSet;
import javax.swing.text.PlainDocument;
import javax.swing.JOptionPane;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class JNumberJTextField extends JTextField {
private int maxLen=11;
public JNumberJTextField(int maxLen) {
this.maxLen=maxLen;
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setDocument(new NumberDocument(maxLen));
}
class NumberDocument extends PlainDocument {
private int maxLen=0;
public NumberDocument(int maxLen) {
this.maxLen=maxLen;
}
/**
*
* @param offs int 是在JTextField的Text中文字的输入位置距离起始位置偏移量
* @param str String 输入的文字
* @param a AttributeSet
* @throws BadLocationException
*/
public void insertString(int offs, String str, AttributeSet a) throws
BadLocationException {
boolean bool=appstring(str);
if(!bool)
{
Toolkit.getDefaultToolkit().beep();
}
else
{
if((getLength()+str.length())>maxLen)
Toolkit.getDefaultToolkit().beep();
else
super.insertString(offs,str,a);
}
}
private boolean appstring(String str1) {
if (!str1.equals("")) {
for (int i = 0; i < str1.length(); i++) {
char c = str1.charAt(i);
if (((int) c) < 48 || ((int) c) > 57) {
return false;
}
}
}
return true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -