您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java:JTable中的控制台输出

Java:JTable中的控制台输出

定义并实现您的TableModel(在这种情况下,扩展AbstractTableModel)

这更广泛,但是是OOP强类型。

class VoluMetableModel extends AbstractTableModel {
    private String[] columnNames = {"Nr:", "Volume Name", "TotalSize [MB]", "Used [MB]", "Status"};
    private ArrayList<Volume> volumes;

    public VoluMetableModel(ArrayList<Volume> volumes) {
        this.volumes = volumes;
    }

    public VoluMetableModel() {
        volumes = new ArrayList<Volume>();
    }

    public void addVolume(Volume volume) {
        volumes.add(volume);
        fireTableRowsInserted(volumes.size()-1, volumes.size()-1);
    }

    public int getColumnCount() {
        return columnNames.length;
    }

    public int getRowCount() {
        return volumes.size();
    }

    public String getColumnName(int col) {
        return columnNames[col];
    }

    public Object getValueAt(int row, int col) {
        Volume volume = volumes.get(row);
        switch (col) {
            case 0: return volume.number;
            case 1: return volume.name;
            case 2: return volume.totalSize;
            case 3: return volume.usedSize;
            case 4: return volume.status;
            default: return null;
        }
    }

    public Class getColumnClass(int col) {
        return String.class;
        //or just as example
        switch (col) {
            case 0: return Integer.class;
            case 1: return String.class;
            case 2: return Integer.class;
            case 3: return Integer.class;
            case 4: return String.class;
            default: return String.class;
        }
    }
}

并将其指定为表的TableModel

//if you have the Volume ArrayList
VoluMetableModel myTableModel = new VoluMetableModel(volumesArrayList);
//if you dont have the Volume ArrayList
VoluMetableModel myTableModel = new VoluMetableModel();
myTableModel.addVolume(volume);
JTable table = new JTable(myTableModel);

来自http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data的某些来源

java 2022/1/1 18:25:24 有403人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶