Java 是否可以编辑jtable中的数据并保存?

Java 是否可以编辑jtable中的数据并保存?,java,jtable,Java,Jtable,我想知道是否可以通过JTable查看我的值,然后在那里编辑它们?确保可以只返回true,如果需要,设置一个值。isCellEditable(int行,int列) 此方法确定允许用户修改哪些行和列。由于此方法返回布尔值,因此如果所有单元格都可编辑,则只返回true。为了防止JTable编辑特定的列或行值,它会从此方法返回false。以下代码仅允许显示第1列,同时允许修改其余列 // Make column one noneditable while allowing the user to ed

我想知道是否可以通过JTable查看我的值,然后在那里编辑它们?

确保可以只返回
true
,如果需要,设置一个值。

isCellEditable(int行,int列) 此方法确定允许用户修改哪些行和列。由于此方法返回布尔值,因此如果所有单元格都可编辑,则只返回true。为了防止JTable编辑特定的列或行值,它会从此方法返回false。以下代码仅允许显示第1列,同时允许修改其余列

// Make column one noneditable

while allowing the user to edit at
all // other columns.
If (col == 1){
return false;
}
else{
return true;
}

public void setValueAt(Object value, int row, int col)
当用户对可编辑单元格进行更改时,将通过此方法通知表格模型。新值及其所在的行和列作为参数传递给此方法。如果原始数据来自数据库,则此方法变得非常重要。正如您将看到的,从数据库检索的数据在表模型中本地保存,通常作为向量。当用户更改JTable中的单元格值时,表模型中的相应数据不会自动更改。您有责任在此事件中添加代码,以确保表模型中的数据与JTable中的数据相同。当添加代码以更新数据库时,这一点变得非常重要。下面的代码使用用户刚刚在JTable中输入的新值更新表模型中的数据(保存在对象数组中)

// Update the array of objects with
// the changes the user has just entered in a cell.
// Then notify all listeners (if any) what column
// and row has changed. Further processing may take place there.

rowData[row][col] = value;
fireTableDataChanged();

是的,这是可能的。基本上jtable是可编辑的。您可以通过TableModel.isCellEditable()方法进行检查。编辑后,可以将表值存储在二维数组中并存储在数据库中。 int i; int j

    String tableData = new String[row count][column count];

    for(i = 0; i < row count; i++)
    {
        for(j = 0; j < 3; j++)
        {
            tableData[i][j] = table.getValueAt(i, j).toString();
        }
    }
String tableData=新字符串[行计数][列计数];
对于(i=0;i<行计数;i++)
{
对于(j=0;j<3;j++)
{
tableData[i][j]=table.getValueAt(i,j).toString();
}
}