JTable单元格渲染

Viv*_*vek 5 rendering timestamp jtable

我正在获取数据库的数据并显示在表格中.

我的getColumnClass是

@Override
public Class<? extends Object> getColumnClass(int column) {
    return getValueAt(0, column).getClass();
}
Run Code Online (Sandbox Code Playgroud)

当我打印值时,我得到类名为java.sql.Timestamp,但是当它显示我有问题时,它只显示dd/MM/yyyy,但我需要它来显示dd/MM/yyyy HH :mm,我怎么能实现这个目标?

除此之外,我需要检查数据时间是否小于今天,然后禁用该行

Viv*_*vek 1

我找到了一个解决方案,这就是

@Override
        public Class<? extends Object> getColumnClass(int column) {
            String value = getValueAt(0, column).getClass().toString();

            if (value.equalsIgnoreCase("class java.sql.Timestamp")) {
                return JTextField.class;
            }

            return getValueAt(0, column).getClass();
        }
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?