1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
package application;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableColumn.CellDataFeatures;
import javafx.scene.control.TableView;
import javafx.scene.control.TextArea;
import javafx.util.Callback;
public class Modele {
@FXML
private Button button;
@FXML
private TextArea textAria;
@FXML
private TableView<?> jtable;
@FXML
private Label label;
@FXML
public void Selection(ActionEvent e) {
try {
String query;
query = textAria.getText().toString();
String url = "jdbc:postgresql://localhost:5432/Ecole";
String user = "postgres";
String mdp = "postgres";
Connection conn = DriverManager.getConnection(url, user, mdp);
Statement state = conn.createStatement();
ResultSet result = state.executeQuery(query);
ResultSetMetaData resultmeta = result.getMetaData();
String column;
for (int i = 0; i < resultmeta.getColumnCount(); i++) {
// We are using non property style for making dynamic table
final int j = i;
TableColumn col = new TableColumn(resultmeta.getColumnName(i + 1));
col.setCellValueFactory(
new Callback<CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
public ObservableValue<String> Call1(CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
public ObservableValue<String> call1(CellDataFeatures<ObservableList, String> param) {
// TODO Auto-generated method stub
return null;
}
@Override
public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {
// TODO Auto-generated method stub
return null;
}
});
jtable.getColumns().addAll(col);
jtable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
}
} catch (Exception e2) {
// TODO: handle exception
}
}
} |
Partager