0

文字列と日付の両方のデータ型の列を持つ jtable があります。しかし今のところ、すべての情報は文字列データとして表示されます。jtable の日付列に日付データ型を表示したいと思います。

また、データモデルのコードを以下に示します

public class MyTableModel extends AbstractTableModel {

    private List<List<Object>> dataList = new ArrayList<>();
     private String[] header = { "ID","SUBJECT","LETTTER FROM","LETTER DATE","DATE RECEIED",
                                  "REMARKS","DATE DISPATCHED","DESTINATION OFFICE"};



    public List<List<Object>> getDataList() {
        return dataList;
    }

    public void setDataList(List<List<Object>> dataList) {       
        this.dataList = dataList;
        fireTableDataChanged();       
        fireTableStructureChanged();        
    }

    public void setHeader(String[] header) {
        this.header = header;
    }

    public String[] getHeader() {
        return header;
    }

    @Override
    public int getRowCount() {
        return dataList.size();
    }

    @Override
    public int getColumnCount() {
        return header.length;
    }

    @Override
   public String getColumnName(int col) {
    return header[col];
   }

    @Override
    public Object getValueAt(int row, int col) { 
    return dataList.get(row).get(col);
    }

}

jtableを初めて使用する場合の提案

4

1 に答える 1

3

オーバーライドgetColumnClass方法:

@Override
public Class<?> getColumnClass(int columnIndex) {
    if (isDate(columnIndex)) {
        return Date.class;
    }
    else {
        return String.class;
    }
}
于 2013-03-21T17:29:35.363 に答える