1
자바 스윙 응용 프로그램에서 사용자를 업데이트하기 위해 JTable을 사용하려고합니다. 현재 셀을 편집 할 때 다른 셀을 클릭하여 편집 결과를 얻을 수 있습니다. tableModelListener 다른 셀을 클릭하지 않고 버튼 이벤트에서 변경된 값을 가져올 수 있기를 원합니다.업데이트 됨 JTable 값 업데이트
내 테이블 정의 :
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()});
}
표 리스너
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);
}
});
나는 버튼 이벤트에이 변경된 값을 얻을 수 있기를 원하는
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Vector data = tableModel.getDataVector();
System.out.println(table.getValueAt(0, 1));
System.out.println(data);
}
});