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

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

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

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);
			}
		};
		
	}        
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 @ 2022-10-13 07:53  信铁寒胜  阅读(95)  评论(0编辑  收藏  举报