[英]Getting Updated JTable Values
I'm trying to use a JTable in order to update users in a Java SWING application, currently when I edit a cell the results of the edit can only be obtained if I click a different cell thus firing the tableModelListener. 我正在尝试使用JTable来更新Java SWING应用程序中的用户,目前当我编辑单元格时,只有单击一个不同的单元格才能获取编辑结果,从而触发tableModelListener。 I want to be able to get these changed values on a button event without clicking other cells.
我希望能够在按钮事件上获取这些更改的值而无需单击其他单元格。
My table definitions: 我的表定义:
DefaultTableModel tableModel = new DefaultTableModel();
table = new JTable(tableModel);
tableModel.addColumn("Key");
tableModel.addColumn("Value");
if (PatientView.getSelected() != null){
tableModel.addRow(new Object[]{"Name", PatientView.getSelected().getName()});
tableModel.addRow(new Object[]{"Age", PatientView.getSelected().getAge()});
tableModel.addRow(new Object[]{"Height", PatientView.getSelected().getHeight()});
tableModel.addRow(new Object[]{"Weight", PatientView.getSelected().getWeight()});
tableModel.addRow(new Object[]{"BMI", PatientView.getSelected().getCalculatedBMI()});
}
Table Listener 表监听器
tableModel.addTableModelListener(new TableModelListener(){
@Override
public void tableChanged(TableModelEvent arg0) {
int row = arg0.getFirstRow();
int column = arg0.getColumn();
Object data = tableModel.getValueAt(0, 1);
System.out.println(data);
}
});
Button Action Listener 按钮动作侦听器
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Vector data = tableModel.getDataVector();
System.out.println(table.getValueAt(0, 1));
System.out.println(data);
}
});
I want to be able to get these changed values on a button event without clicking other cells.
我希望能够在按钮事件上获取这些更改的值而无需单击其他单元格。
See Table Stop Editing . 请参见表停止编辑 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.