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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章