[英]JTable updating cell value after editing
为什么设置值后我的表不更新。我有setValuesAt方法,但是它不起作用。
String[] ColumnNames = {"Register","Value"};
String[][] data = new String[Integer.parseInt(Amount_Text_Field.getText())][ColumnNames.length];
DefaultTableModel model = new DefaultTableModel(data, ColumnNames)
{
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column)
{
return true;
}
@Override
public void setValueAt(Object value, int row, int column) {
data[row][column]=(String) value;
fireTableCellUpdated(row, column);
}
};
无需重写DefaultTableModel的setValueAt()方法。 DefaultTableModel已经实现了该方法。
String[][] data = new String[Integer.parseInt(Amount_Text_Field.getText())][ColumnNames.length];
我猜想当上述语句被调用时,您的文本字段将不包含任何数据。 因此,没有数据要添加到表中。
如果要用于在文本字段中输入数据,则需要具有“添加数据”之类的按钮。 然后,在按钮的ActionListener
中,您可以执行以下操作:
String[] row = new String[Integer.parseInt(Amount_Text_Field.getText())][ColumnNames.length];
model.addRow( row );
另外,变量名不应以大写字母开头。 一些是正确的,其他不是。 始终如一!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.