从我的数据库中获取数据后,我必须在JTable
中显示此信息。
在我的设计中,我可以指定JTable
应该有多少行。
但是当我的数据数组比指定的行长时,我得到一个例外。 这是因为我的表太小了,无法在其中添加所有数据。
如何根据数组的大小动态地向表中添加行?
TableModel tmPerson = taTablePerson.getModel();
for (int index = 0; index < arrpBag.length; index++)
{
dtmPerson.setValueAt(arrpBag[index].getId(), index, 0);
dtmPerson.setValueAt(arrpBag[index].getRijksregisternummer(), index, 1);
dtmPerson.setValueAt(arrpBag[index].getNaam(), index, 2);
dtmPerson.setValueAt(arrpBag[index].getVoornaam(), index, 3);
dtmPerson.setValueAt(arrpBag[index].getStraat(), index, 4);
dtmPerson.setValueAt(arrpBag[index].getNummer(), index, 5);
dtmPerson.setValueAt(arrpBag[index].getBus(), index, 6);
dtmPerson.setValueAt(arrpBag[index].getPostnummer(), index, 7);
dtmPerson.setValueAt(arrpBag[index].getGemeente(), index, 8);
dtmPerson.setValueAt(arrpBag[index].getTelefoonnummer(), index, 9);
}
//Create extra rows when not enough
if (taTabelPersonen.getRowCount() < arrpBag.length)
{
//What code should be placed here?
}
taTabelPersonen.setModel(dtmPersoon);
答案 0 :(得分:1)
如何根据大小来动态地向表中添加行 数组?
您可以使用DefaultTableModel作为表格模型,并调用addRow(Object[] rowData)方法以dinamically方式添加行并自动增加行的计数。这样您就可以忘记固定行的计数。例如,你可能有这样的事情:
Object[] header = new Object[]{"Id", "Rijksregisternummer", "Naam", "Voornaam"
,"Straat", "Nummer", "Bus", "Postnummer"
,"Gemeente", "Telefoonnummer"};
DefaultTableModel model = new DefaultTableModel(header, 0);
for (int index = 0; index < arrpBag.length; index++) {
Object[] row = new Object[]{ arrpBag[index].getId()
, arrpBag[index].getRijksregisternummer()
, arrpBag[index].getNaam()
, arrpBag[index].getVoornaam()
, arrpBag[index].getStraat()
, arrpBag[index].getNummer()
, arrpBag[index].getBus()
, arrpBag[index].getPostnummer()
, arrpBag[index].getGemeente()
, arrpBag[index].getTelefoonnummer() };
model.addRow(row);
}
taTabelPersonen.setModel(model);