需要解释代码的作用

时间:2017-04-12 20:01:09

标签: java swing

所以我有这个代码,因为我需要将照片添加到我的JTable中,所以我需要制作一个抽象的表模型。但是,在看到这段代码后,我真的不知道它的作用,但我真的很想理解它。如果你能解释一下,那将是非常棒的! (我也不知道Icon.class在代码中做了什么)。代码如下:

public class TheModel extends AbstractTableModel {

    private String[] columns;
    private Object[][] rows;

    public TheModel(){}

    public TheModel(Object[][] data, String[] columnName){

        this.rows = data;
        this.columns = columnName;
    }


    public Class getColumnClass(int column){
// 4 is the index of the column image
        if(column == 4){
            return Icon.class;
        }
        else{
            return getValueAt(0,column).getClass();
        }
    }


    public int getRowCount() {
     return this.rows.length;
    }

    public int getColumnCount() {
     return this.columns.length;
    }


    public Object getValueAt(int rowIndex, int columnIndex) {

    return this.rows[rowIndex][columnIndex];
    }
    public String getColumnName(int col){
        return this.columns[col];
    }


}

非常感谢每一个解释!我知道这个网站主要是为了解决编码问题,而不是解释,但我真的希望你们可以例外。

1 个答案:

答案 0 :(得分:1)

  

所以我需要制作一个抽象表模型。

不,你没有。没有理由创建新的表模型。

您可以扩展DefaultTableModel并覆盖getColumnClass(...)方法。

  

(我也不知道Icon.class在代码中做了什么

这将告诉表格列中存储的数据类型,以便表格可以使用适当的渲染器来显示数据。那就是你想看到的图像不是文字。

阅读How to Use Tables上Swing教程中的部分,了解有关表如何工作的基础知识的更多信息。