【发布时间】:2012-04-24 23:02:13
【问题描述】:
如何使用 AbstractTableModel 预填充 JTable 的第一列?
我想在第一列中放入时间段,然后用其他内容填充其他列。
好的,因此 GUI 中的 JTables 将使用 ChannelTableModel。基本上它从 6.30 - 24:00 设置 30 分钟的时间段。时隙必须放在 JTable 的第一行
在某种程度上,我需要设置一个变量“行”来获取 AbstractTableModel 中的行值,我发现这很难做到。
下面是目前的代码。
代码:
import java.util.List;
import javax.swing.table.AbstractTableModel;
public class ChannelTableModel extends AbstractTableModel
{
public ChannelTableModel(List<Program> schedule)
{
this.channel= schedule;
}
public int getColumnCount()
{
return 3;
}
public int getRowCount()
{
return 37;
}
public Object getValueAt(int rowIndex, int columnIndex)
{
switch (columnIndex)
{
case 0: return 6+((row*30) / 60)+":"+(row % 2 == 0 ? "00" : "30") + " - " + (6 +(((row+1)*30) / 60)+":"+(row % 2 != 0 ? "00" : "30"));
default: return "Not Available.";
}
}
}
如何创建变量“row”以使 TableModel 可用?
【问题讨论】:
-
AbstractTableModel 是抽象的,因此在没有进一步实现的情况下无法使用。你能发布一些代码来展示你在做什么吗?
-
如何创建变量“row”以使 TableModel 可用?
rowIndex作为参数传递给该方法的是行...为什么不使用那个? -
另见
EnvTableTest。
标签: java swing user-interface jtable abstracttablemodel