6个回答
展开全部
限制输入文本的长度,可以定制一个Document:
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
class JTextFieldLimit extends PlainDocument {
private int limit;
JTextFieldLimit(int limit) {
super();
this.limit = limit;
}
JTextFieldLimit(int limit, boolean upper) {
super();
this.limit = limit;
}
public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
if (str == null)
return;
if ((getLength() + str.length()) <= limit) {
super.insertString(offset, str, attr);
}
}
}
public class Main extends JFrame {
JTextField textfield1;
JLabel label1;
public void init() {
setLayout(new FlowLayout());
label1 = new JLabel("max 10 chars");
textfield1 = new JTextField(15);
add(label1);
add(textfield1);
textfield1.setDocument(new JTextFieldLimit(10));
setSize(300,300);
setVisible(true);
}
}
展开全部
java的textField好像不能设置文本长度.我的解决方法是给textField加一个监听器,用户输入的时候就检验长度,输入多于4个字符就subString
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在setText(String str)这里处理下就好了,字符串长度超过4就不让他调super的setText就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
maxlength 最大字节长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用size 属性设置长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询