先写一个document类:
import javax.swing.text.*;
import java.awt.*;class LimitedLengthDocument extends PlainDocument
{
private length ;
public LimitedLengthDocument(int len)
{
this.length = len;
} public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if (str == null) {
return;
}
// Get current value
String curVal = getText(0, getLength());
if ( curVal.length() > length )
return;
else
super.insertString(index, s, a);
}
用法:JTextField txtbox = new JTextField();
txtbox.setDocument(new LimitedLengthDocument(5));或者
JTextField jt=new JTextField(20);
jt.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
if(jt.getText().length()>5) {
javax.swing.JOptionPane.showMessageDialog(null,"输入必须小于五位!");
jt.requestFocus();
}
}
}
import javax.swing.text.*;
import java.awt.*;class LimitedLengthDocument extends PlainDocument
{
private length ;
public LimitedLengthDocument(int len)
{
this.length = len;
} public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if (str == null) {
return;
}
// Get current value
String curVal = getText(0, getLength());
if ( curVal.length() > length )
return;
else
super.insertString(index, s, a);
}
用法:JTextField txtbox = new JTextField();
txtbox.setDocument(new LimitedLengthDocument(5));或者
JTextField jt=new JTextField(20);
jt.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
if(jt.getText().length()>5) {
javax.swing.JOptionPane.showMessageDialog(null,"输入必须小于五位!");
jt.requestFocus();
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货