JTextArea怎么设置输入长度 JTextArea(String text,int rows,int columns) ^ ^ 需要的行和列自己算好就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用下面两个方法设置列数和行数setColumns(int columns) //设置列数setRows(int rows) //设置行数 setColumns(int columns) //设置列数setRows(int rows) //设置行数 public class LimitNumTextDocument extends PlainDocument{ private int length = 0; public LimitNumTextDocument(int length) { this.length = length; } public void insertString(int offs, String str, AttributeSet attr) throws BadLocationException { if(str == null || getLength() > length) { return; } super.insertString(offs, str, attr); }}运用:LimitNumNumberDocument document = new LimitNumNumberDocument(6);this.ourButton.setDocument(document); 楼上的不太准确,改一下.注意,回车符也算一个字符import javax.swing.JTextArea;import javax.swing.text.AttributeSet;import javax.swing.text.BadLocationException;import javax.swing.text.PlainDocument;public class LimitNumTextArea extends JTextArea{ public LimitNumTextArea(int length) { setDocument(new LimitNumDocument(length)); } private class LimitNumDocument extends PlainDocument { private int fLength = -1; // 可任意输入 public LimitNumDocument(int length) { fLength = length; } public void insertString(int offs, String str, AttributeSet attr) throws BadLocationException { int originalLength = getLength(); if (originalLength <= 0) { super.insertString(offs, str, attr); return; } char[] input = str.toCharArray(); int inputLength = 0; for (int i = 0; i < input.length; i++) { if (originalLength + inputLength > fLength) { break; } inputLength++; } super.insertString(offs, new String(input, 0, inputLength), attr); } }} for (int i = 0; i < input.length; i++) { if (originalLength + inputLength > fLength) { break; } inputLength++;}sorry, 此处改为if (originalLength + inputLength >=(这里) fLength) { break;} 请教一个简单的正则表达式 怎么学JAVA?真的很迷茫迷惑,新手成心请教! 急急急高分求VO到PO的自动转换 关于keyListener中keyTyped方法的一些问题 请教一个有关JAVA连接数据库后取值的问题(付代码) 学过C++,从事C# 好还是Java好呢 ? java写的SocketServer如何和c或vb写的client通信?? 达人们帮我看看问题在哪里 Linux中用C如何调用Java? 谁有把oracle(sql2000)的对数据库的连接和操作类? 在java中用正则表达式,匹配所有字符(包括\r, \n)等,总之所有字符,怎么写? 求助,java界面问题!
{
private int length = 0; public LimitNumTextDocument(int length)
{
this.length = length;
} public void insertString(int offs, String str, AttributeSet attr)
throws BadLocationException
{
if(str == null || getLength() > length)
{
return;
} super.insertString(offs, str, attr);
}}运用:
LimitNumNumberDocument document = new LimitNumNumberDocument(6);
this.ourButton.setDocument(document);
注意,回车符也算一个字符import javax.swing.JTextArea;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;public class LimitNumTextArea extends JTextArea
{
public LimitNumTextArea(int length) {
setDocument(new LimitNumDocument(length));
} private class LimitNumDocument extends PlainDocument {
private int fLength = -1; // 可任意输入
public LimitNumDocument(int length) {
fLength = length;
} public void insertString(int offs, String str, AttributeSet attr)
throws BadLocationException
{
int originalLength = getLength();
if (originalLength <= 0) {
super.insertString(offs, str, attr);
return;
} char[] input = str.toCharArray();
int inputLength = 0;
for (int i = 0; i < input.length; i++) {
if (originalLength + inputLength > fLength) {
break;
}
inputLength++;
} super.insertString(offs, new String(input, 0, inputLength), attr);
}
}
}
if (originalLength + inputLength > fLength) {
break;
}
inputLength++;
}
sorry, 此处改为if (originalLength + inputLength >=(这里) fLength) {
break;
}