chardocument.java

来自「JTable复杂表头的实现代码 JTable复杂表头的实现代码」· Java 代码 · 共 34 行

JAVA
34
字号
package cn.com.table;

import javax.swing.text.PlainDocument;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;

/*
 * 对预算模版表中的文本框的输入进行输入限制,输入的字符最长不超过100位
 */
 public class CharDocument extends PlainDocument {
  private JTextField jtf;
  public CharDocument(JTextField jt) {   //引进JTextField句柄
    super();
    jtf = jt;
  }
  //单元格的最大输入长度判断
  public void insertString(int offs, String str, AttributeSet a)
      throws BadLocationException {
    char[] source = str.toCharArray();
    char[] result = new char[source.length];
    int j = 0;
    int maxlen=100;
    StringBuffer tempstr = new StringBuffer(jtf.getText());
    for (int i = 0; i < result.length; i++) {
        tempstr.insert(offs,source[i]);
        if (tempstr.length()<maxlen) {
          result[j++] = source[i];
         }
    }
    super.insertString(offs, new String(result, 0, j), a);
   }
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?