JTable实现Integer和Double数据类型的列,只能输入符合标准的值

如下图,该列的数据类型为Integer类,则不能输入Double和字符串类型的内容

如何设定表格的列的类型?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public DefaultTableModel tableModelInstance() {
         
        return new DefaultTableModel() {
            private static final long serialVersionUID = 1L;
 
            @Override
                        //返回的数据类型是什么,代表该列是什么类型
            // 重写该方法可使排序根据class的类型排序
            public Class<?> getColumnClass(int column) {
                if ((column >= 0) && (column < getColumnCount())) {
                    if (getRowCount() > 1) {
                        Object valueAt = getValueAt(0, column);
                        return valueAt == null ? Object.class : valueAt.getClass();
                    }
                }
                return super.getColumnClass(column);
            }
        };
         
    }
1
2
3
4
5
6
7
8
tableModel  = tableModelInstance();
        for (int i = 0; i < columnName.size(); i++) {
            String s = columnName.get(i);
            tableModel.addColumn(s);
            columnMap.put(s, i);
        }
 
        table.setModel(tableModel);

  

 

posted @   信铁寒胜  阅读(100)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示