【问题标题】:How to update JTable using values from an array in java如何使用java中数组中的值更新JTable
【发布时间】:2012-02-27 11:33:23
【问题描述】:

您好,我将 arraylist 转换为数组,以便可以使用它在 JTable 中显示其元素,但没有显示任何内容。它给了我一个错误(错误在代码 cmets 中解释)。我只想有一列显示该数组中的值。有人可以指导我正确的方向吗?谢谢

这是我的代码:

private static class EnvDataModel extends AbstractTableModel {

    private static final long serialVersionUID = 1L;

    private static ArrayList<Integer> list = new ArrayList<Integer>();
    private Object age[];

...

    public EnvDataModel() {
        age=list.toArray();
    }

    public String getColumnName(int col) {

            return "Age";
    }

    public int getColumnCount() {
        return 1;
    }

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

    public Object getValueAt(int row, int col) {
            // Error message The method get(int) in the type ArrayList<Integer> is not applicable for the arguments (Object)
            return list.get(age[row]);  
    }
}

【问题讨论】:

    标签: java arrays swing arraylist jtable


    【解决方案1】:

    list.get(age[row]); 需要 list.get(int)age[row] 是对象。

    所以,试试这个

    int i =Integer.parseInt( age[row].toString() ); 
    

     list.get(i);
    

    【讨论】:

    • 打印list.get(Integer.parseInt( age[row].toString() )).?的值?
    【解决方案2】:

    1) ArrayListAbstractTableModel 返回列中,请阅读有关JTable TableModel 工作原理的教程

    2) 可以将ArrayList&lt;Integer&gt; 改为Vector&lt;Vector&lt;Integer&gt;&gt;Interger[][],则AbstractTableModel 不需要定义,JTable 只需使用默认构造函数

    JTable(Object[][] rowData, Object[] columnNames)

    JTable(Vector rowData, Vector columnNames)

    3) 将Integer 值添加到DefaultTableModel

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2014-04-18
    相关资源
    最近更新 更多