【问题标题】:Use arraylist to fill a JTable in java [closed]在java中使用arraylist填充JTable [关闭]
【发布时间】:2012-02-26 08:36:15
【问题描述】:

我一直在阅读教程,但我仍然不确定,所以我会在这里问。是否可以有一个具有 2 列的 JTable,其中第 1 列显示数组列表的内容,第 2 列显示不超过数组列表大小的数字?我看过教程,但他们并没有真正提到数组列表,所以任何示例代码或指导都会有所帮助。谢谢

【问题讨论】:

  • 考虑从只在一列中显示数字的 JTable 开始。那应该是一个简单的增量任务,是吗?一旦你弄清楚了,从那里拿走它。关于您的具体问题,如果您希望第二列中的每一行都显示数组列表的大小,那么第一列中有什么?第一列中的每一行都是整个数组列表吗?您希望该内容如何显示在单个表格单元格中?首先发布更清晰的说明,确切说明您要做什么。
  • 很明显 - 第 1 列显示 arraylist 的每个元素 第 2 列显示从 1 到数组列表大小的数字
  • “很清楚”是不够的。在您的脑海中,您可能很清楚,但我或其他任何正在查看此问题的人肯定不清楚,这可能就是为什么您有很多观点而不是一个具体的回应的原因。您确实意识到“ArrayList”可以有多个元素,而 ArrayList 的大小只是一个整数?
  • 1 到 arraylist 的大小意味着 1, 2, 3, 4....arraylist.size。下面的答案就足够了,因此没有人回答并且有投票权。为自己说话,而不是为他人说话

标签: java swing arraylist jtable


【解决方案1】:

是的,当然可以。通过扩展AsbtractTableModel实现表模型,并使用列表实现其方法。

阅读JTable tutorial

表格模型的主要方法如下所示:

public Object getValueAt(int row, int column) {
    if (column == 0) {
        return this.list.get(row);
    }
    else {
        return row;
    }
}

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

public int getColumnCount() {
    return 2;
}

【讨论】:

  • +1 此相关example 包含Map
  • 我还是很难过。每次我尝试添加我的整数数组时,它都会说一个错误,因为它不是 object[][]
  • @Matt9Atkins:我在答案中添加了一些代码来帮助您入门。您创建一个扩展 AbstractTableModel 的类,实例化这个类,并将这个实例传递给 JTable 的构造函数,以 TableModel 作为参数:docs.oracle.com/javase/6/docs/api/javax/swing/…
  • 谢谢!非常感谢
猜你喜欢
  • 2012-01-27
  • 2015-01-15
  • 2018-12-14
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
相关资源
最近更新 更多