Auf Thema antworten

[USER=60069]@Hatsi09[/USER]

also, DataPane ist die zweite, leere VBox in der SplitPane. Im MainController.java stehen die Methoden, um die FXML Files in die DataPane zu laden. Zum Beispiel

[CODE=java]public void kundenTSR(ActionEvent event) throws IOException {

        setDataPane(fadeAnimate("/samplefx/view/FXML1.fxml"));

}[/CODE]

Dort werden (im Moment per Button) Daten in eine ComboBox geladen. Das soll möglichst sofort mit dem Laden der FXML1.fxml

passieren. Die Methode dazu:

[CODE=java]

 final ObservableList options = FXCollections.observableArrayList();

    ...

@FXML

    private void fillCombo(ActionEvent event) {

        Connection conn = null;

        try {

            Class.forName("org.postgresql.Driver");

            conn = DriverManager.getConnection(jhpn, uname, pw);


            String sSQL = "SELECT kunden.bem FROM kunden ORDER BY kunden.bem ASC";

            Statement st = conn.createStatement();

            ResultSet rs = st.executeQuery(sSQL);

            while (rs.next()) {

                options.add(rs.getString(1));

            }

            ComboBoxKunden.setItems(options);

            ComboBoxKunden.requestFocus();

            conn.close();


        } catch (ClassNotFoundException | SQLException e) {

            JOptionPane.showMessageDialog(null, "Fehler in fillCombo(): " + e);

        }

    }[/CODE]

Mein letzter Stand ist, dass der Focus nach dem Laden von FXML1 im Feld start ist (Cursor) und ich versuche mit

[CODE=java]

start.focusedProperty().addListener((ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> {

            focusState(newValue);

        });

[/CODE] einen Listener einzufügen, um den Focuserhalt des Feldes zu nutzen, weiß aber nicht so recht, wie man das auswertet, um eine Methode auszuführen. Ist das überhaupt so lösbar?



Oben