?? jnumberfield.java~1~
字號:
package chatClient;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
/**
* 只允許輸入數字的JTextField
* JNumberField txtNumber1=new JNumberField()
* txtNumber2=new JNumberField(4)
* txtNumber3=new JNumberField(4,12)
*/
public class JNumberField extends JTextField
{
public JNumberField()
{
super();
setDocument(new numDoc());
}
public JNumberField(int decLen)
{
super();
setDocument(new numDoc(decLen));
}
public JNumberField(int decLen,int maxLen)
{
super();
setDocument(new numDoc(decLen,maxLen));
}
}
class numDoc extends PlainDocument
{
int maxLength=16;
int decLength=0;
public numDoc(int decLen,int maxLen)
{
maxLength=maxLen;
decLength=decLen;
}
public numDoc(int decLen)
{
decLength=decLen;
}
public numDoc(){}
public void insertString(int offset,String s,AttributeSet a)throws BadLocationException
{
int len=getLength();
String str=getText(0,len);
int decPos=str.indexOf(".");
if (
s.equals("F")||s.equals("f")||s.equals("D")||s.equals("d")
||(str+s).length()>maxLength
||(decPos>-1&&offset>decPos&&((str.substring(decPos+1))+s).length()>decLength)
||(str.trim().equals("0")&&!s.substring(0,1).equals(".")&&offset!=0)
||(s.equals(".")&&decLength==0)
||(s.indexOf(".")>-1&&s.substring(s.indexOf(".")+1).length()>decLength)
)
{
Toolkit.getDefaultToolkit().beep();
return;
}
try{
Float.parseFloat(str+s);
}catch(Exception e){
Toolkit.getDefaultToolkit().beep();
return;
}
super.insertString(offset,s,a);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -