Hallo, 
beschäftige mich zurzeit viel mit JavaFx und FXML. Dabei tritt bei mir die Frage auf ob sich beiden Möglichkeiten ein GUI zu erstellen ergänzen können (1. FXML 2. Direkt in JavaFX). Entgültiges Ziel ist es z.B den rechten Teil einer horizontalen splitpane dynamisch zur Laufzeit in Java zu erstellen, während der rechte Teil statisch in einer FXML Datei definiert wird.
Habe viel ausprobiert, scheitere aber irgendwie ständig. Eigentlich versuche ich nur der im FXML definierten mainPane ein neues Label in der Javaklasse hinzuzufügen.
Am Besten zeige ich euch mal im Quellcode an einem stark vereinfachten Beispiel was ich meine.
sample.fxml
	
	
	
	
	
		
	
TestApplication.java
	
	
	
	
	
		
	
Im Controller passiert noch nichts.
Wenn ich das jetzt versuche zu starten, bekomme ich eine java.lang.NullPointerException in der Zeile [JAVA=18]mainPane.getChildren().add(label);[/code] geworfen.
Kann ich die beiden Möglichkeiten eine GUI zu erstellen nicht mischen.
Was mache ich falsch? ???:L
Danke im Voraus
			
			beschäftige mich zurzeit viel mit JavaFx und FXML. Dabei tritt bei mir die Frage auf ob sich beiden Möglichkeiten ein GUI zu erstellen ergänzen können (1. FXML 2. Direkt in JavaFX). Entgültiges Ziel ist es z.B den rechten Teil einer horizontalen splitpane dynamisch zur Laufzeit in Java zu erstellen, während der rechte Teil statisch in einer FXML Datei definiert wird.
Habe viel ausprobiert, scheitere aber irgendwie ständig. Eigentlich versuche ich nur der im FXML definierten mainPane ein neues Label in der Javaklasse hinzuzufügen.
Am Besten zeige ich euch mal im Quellcode an einem stark vereinfachten Beispiel was ich meine.
sample.fxml
		Java:
	
	<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?import javafx.collections.*?>
<Pane fx:controller="testapplication.Sample"
    xmlns:fx="http://javafx.com/fxml" 
    fx:id="mainPane">
</Pane>
	TestApplication.java
		Java:
	
	public class TestApplication extends Application {
    @FXML private Pane mainPane;
    
    public static void main(String[] args) {
        Application.launch(TestApplication.class, args);
    }
    
    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
        
        stage.setScene(new Scene(root));
        stage.show();
        Label label = new Label();
        label.setText("Hello");
        
        mainPane.getChildren().add(label);
    }
}
	Im Controller passiert noch nichts.
Wenn ich das jetzt versuche zu starten, bekomme ich eine java.lang.NullPointerException in der Zeile [JAVA=18]mainPane.getChildren().add(label);[/code] geworfen.
Kann ich die beiden Möglichkeiten eine GUI zu erstellen nicht mischen.
Was mache ich falsch? ???:L
Danke im Voraus