没有做过,我想你可以通过控制你的AbstractTableModel中的数据来限制显示出来的字段长度。
while (rs.next()) {
Vector tempRows = new Vector();
tempRows.add(rs.getString("EmployID"));//这里控制数据的加入
rowData.addElement(tempRows);
}
while (rs.next()) {
Vector tempRows = new Vector();
tempRows.add(rs.getString("EmployID"));//这里控制数据的加入
rowData.addElement(tempRows);
}
你可能理解错我的意思了,我是说,当用户通过键盘在JTABLE控件的某个单元格中输入字符时,怎样控制可输入字符的最大个数.如html里text的maxlength属性.还请做过的朋友不吝赐教!
import com.sun.java.swing.text.*;
public class JTextFieldLimit extends PlainDocument {
private int limit;
private boolean toUppoercase = false;
JTextFieldLimit(int limit) {
super();
this.limit = limit;
}
JTextFieldLimit(int limit, boolean upper) {
super();
this.limit = limit;
toUppercase = upper;
}
public void insertString
(int offset, String str, AttributeSet attr)
throws BadLocationException {
if (str == null) return; if ((getLength() + str.length()) <= limit) {
if (toUppercase) str = str.toUpperCase();
super.insertString(offset, str, attr);
}
}
}用法
import java.awt.*;
import com.sun.java.swing.*;
//import javax.swing.*; public class tswing extends JApplet{
JTextField textfield1;
JLabel label1; public void init() {
getContentPane().setLayout(new FlowLayout());
//
label1 = new JLabel("max 10 chars");
textfield1 = new JTextField(15);
getContentPane().add(label1);
getContentPane().add(textfield1);
textfield1.setDocument
(new JTextFieldLimit(10));
}
}