ユーザーが行のフィールドの値を選択しました。選択した行の id フィールドの値を取得するにはどうすればよいですか? 例えば、ユーザーが2行目のnameフィールドの値を選択し、2行目のidフィールドの値を知りたい。
public class Main {
public static DefaultTableModel model;
public static void main(String[] args) throws Exception {
model = new DefaultTableModel();
JFrame frame = new JFrame("Creating a Scrollable JTable!");
JPanel panel = new JPanel();
model.addColumn("id");
model.addColumn("name");
model.addColumn("family");
Class.forName("oracle.jdbc.driver.OracleDriver");
java.sql.Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "SYSTEM", "1234");
PreparedStatement st = con.prepareStatement("select * from person");
ResultSet r = st.executeQuery();
while (r.next()) {
model.addRow(new Object[]{r.getString("id"), r.getString("name"), r.getString("family")});
}
st.close();
con.close();
model.addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
System.out.println(model.getValueAt(e.getFirstRow(), e.getColumn()));
}
});
JTable table = new JTable(model);
frame.add(panel);
panel.add(table);
frame.setVisible(true);
}
}