java textfield 中如何设置文本长度
发布网友
发布时间:2024-10-24 03:44
我来回答
共5个回答
热心网友
时间:2024-10-30 11:58
输入文本的长度,可以定制一个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);
}
}
热心网友
时间:2024-10-30 11:51
maxlength 最大字节长度
热心网友
时间:2024-10-30 11:51
用size 属性设置长度
热心网友
时间:2024-10-30 11:53
在setText(String str)这里处理下就好了,字符串长度超过4就不让他调super的setText就好了
热心网友
时间:2024-10-30 11:57
java的textField好像不能设置文本长度.我的解决方法是给textField加一个,用户输入的时候就检验长度,输入多于4个字符就subString