Java是否将行添加/删除到JTable?
我试图弄清楚如何在JTabel中添加和删除行。我想根据第一列删除行,第一列是唯一的ID 我目前正在创建如下表:Java是否将行添加/删除到JTable?,java,swing,jtable,defaulttablemodel,Java,Swing,Jtable,Defaulttablemodel,我试图弄清楚如何在JTabel中添加和删除行。我想根据第一列删除行,第一列是唯一的ID 我目前正在创建如下表: String[] colName = new String[] { "ID#", "Country", "Name", "Page titel", "Page URL", "Time" }; Object[][] products = new Object[][] { {
String[] colName = new String[] {
"ID#", "Country", "Name", "Page titel", "Page URL", "Time"
};
Object[][] products = new Object[][] {
{
"867954", "USA", "Todd", "Start", "http://www.url.com", "00:04:13"
}, {
"522532", "USA", "Bob", "Start", "http://www.url.com", "00:04:29"
}, {
"4213532", "USA", "Bill", "Start", "http://www.url.com", "00:04:25"
}, {
"5135132", "USA", "Mary", "Start", "http://www.url.com", "00:06:23"
}
};
table = new JTable(products, colName);
如何添加新行并删除ID为867954的行 如果使用
DefaultTableModel
,则可以执行此操作:
DefaultTableModel dtm = new DefaultTableModel(products, colName);
table = new JTable(dtm);
现在,您可以添加和删除行:
dtm.removeRow(0); //remove first row
dtm.addRow(new Object[]{...});//add row
如果要基于ID删除行,可以搜索具有该ID的行并将其删除,然后:
String searchedId = "867954";//ID of the product to remove from the table
int row = -1;//index of row or -1 if not found
//search for the row based on the ID in the first column
for(int i=0;i<dtm.getRowCount();++i)
if(dtm.getValueAt(i, 0).equals(searchedId))
{
row = i;
break;
}
if(row != -1)
dtm.removeRow(row);//remove row
else
...//not found
String searchedId=“867954”//要从表中删除的产品的ID
int行=-1//行的索引,如果未找到,则为-1
//根据第一列中的ID搜索行
对于(int i=0;i编程方式、基于或使用输入事件?在所有情况下,您都必须处理jtable.getModel()
如何基于第1列中的ID删除行?非常有效!非常感谢!!