java制作文本框中的表格输入List数据

最近在做一个Java的单机程序,所以用了下JFrame用来做Java自己的页面,这是写的一个向JTable输入List类型的数据,

import javax.swing.table.AbstractTableModel;
import java.util.ArrayList;
import java.util.List;
public class TableDataVO extends AbstractTableModel {
    List<ResultVO> listData = new ArrayList<ResultVO>();//ResultVO为要向其中输入的结果类型
    @Override
    public int getRowCount() {
        return listData.size();//行数为list的大小
    }
    @Override
    public int getColumnCount() {
        return 5;//5列
    }
    @Override
    public String getColumnName(int column) {
        //根据实际情况返回列名"样本编号","项目名称", "项目结果", "项目单位","参考范围"
        if (column == 0)
            return "样本编号";
        else if (column == 1)
            return "项目名称";
        else if (column == 2)
            return "项目结果";
        else if (column == 3)
            return "项目单位";
        else
            return "参考范围";
    }
    //将每一列赋予对应的list中的值
    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        ResultVO result = listData.get(rowIndex);
        if (columnIndex == 0)
            return result.getBarcode();
        else if (columnIndex == 1)
            return result.getItemName();
        else if (columnIndex == 2)
            return result.getItemResult();
        else if (columnIndex == 3)
            return result.getItemUnit();
        else
            return result.getReferenceRanges();
    }

    public void setData(List<ResultVO> data) {
        if (data == null)
            throw new IllegalArgumentException("数据不能为空。");

        this.listData = data;

        fireTableDataChanged();//刷新表格显示数据
    }
}

在主页面中调用:

TableDataVO tableData = new TableDataVO();
tableData.setData(rData);
table = new JTable(tableData);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章