我正在研究JavaFx应用程序。这就是我从数据库填充表格视图的方式。我正在尝试让tableview选择行值并将其显示在控制台中。
我该怎么做?
private void populateTable() {
try {
//con = handler.getConnection();
String req = "SELECT Username,Email FROM User Where Active='0' ";
ResultSet rst = con.createStatement().executeQuery(req);
ObservableList<ObservableList> data = FXCollections.observableArrayList();
tableRequests.getColumns().clear();
int cols = rst.getMetaData().getColumnCount();
for (int i = 0; i < cols; i++) {
final int j = i;
TableColumn col = new TableColumn(rst.getMetaData().getColumnName(i + 1).toUpperCase());
//TableColumn colBtn = new TableColumn("Activate");
col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
@Override
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
col.setPrefWidth(130);
tableRequests.getColumns().addAll(col);
}
while (rst.next()) {
ObservableList<String> row = FXCollections.observableArrayList();
for (int k = 1; k <= rst.getMetaData().getColumnCount(); k++) {
row.add(rst.getString(k));
}
data.add(row);
}
tableRequests.setItems(data);
} catch (SQLException ex) {
Logger.getLogger(CoursesTableController.class.getName()).log(Level.SEVERE, null, ex);
}
}