⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 numberdocument.java

📁 JTable复杂表头的实现代码 JTable复杂表头的实现代码
💻 JAVA
字号:
package cn.com.table;

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

//对预算表中的文本框的输入进行输入限制,构造PlainDocument实现,只能输入数字和小数点
public class NumberDocument extends PlainDocument {
  private JTextField jtf;
  public NumberDocument(JTextField jt) {   //引进JTextField句柄
    super();
    jtf = jt;
  }

  //对数字和单元格的允许的最大值判断
  public void insertString(int offs, String str, AttributeSet a)
      throws BadLocationException {
    double max = 100000000000.00;           //设定输入框的最大值
    char[] source = str.toCharArray();
    char[] result = new char[source.length];
    int j = 0;
    StringBuffer tempstr = new StringBuffer(jtf.getText());
    if (tempstr.equals("")) {               //点击进入时为空
      tempstr.append(0.00);
    }
    //System.out.println("offs"+offs);
    for (int i = 0; i < result.length; i++) {
      if (Character.isDigit(source[i])||source[i]=='.') {
        tempstr.insert(offs,source[i]);
        if (Double.parseDouble(tempstr.toString())<max) {
          result[j++] = source[i];
        }
      }
    }
    super.insertString(offs, new String(result, 0, j), a);
  }
}

⌨️ 快捷键说明

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