Probleme mit der Übergabe einer BorderPane

derHalbstarke

Neues Mitglied
Hallo,
ich bin neu hier und durchsuche schon eine ganze Weile dieses Forum um vielleicht selber auf die Antwort meiner Frage zu kommen, nur leider ohne Erfolg.

Mein Problem:
Wir müssen uns nun ganz frisch mit JavaFX beschäftigen. Die Aufgabe ist in der Hauptklasse (ZahlenRateSpiel) den Konstruktor RateSpielGUI() der Klasse RateSpielGUI aufzurufen. Dieser erzeugt eine BorderPane und gibt diese zurück; setzt dies in die Scene ein und gibt es aus. Soweit die Theorie, nur klappt das nicht. Die Scene wird angezeigt nur der die BorderPane in ihr nicht.
Ein weiteres Problem ist das die Hauptklasse in der Aufgabe vorgegeben ist und (eigentlich) nicht verändert werden darf.

RateSpielGUI

Java:
import javafx.scene.layout.BorderPane;
import javafx.scene.control.*;

public class RateSpielGUI extends BorderPane{
   
    public RateSpielGUI()
    {
        BorderPane borderpane = new BorderPane();
       
        Button button = new Button("Versuch");
       
        borderpane.setCenter(button);
        borderpane.setVisible(true);
        }
}


ZahlenRateSpiel

Code:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class ZahlenRateSpiel extends Application
{

   
   
    public void start(Stage primaryStage)
    {
        RateSpielGUI gui = new RateSpielGUI();
        Scene scene = new Scene(gui, 500, 500);
 
       primaryStage.setScene(scene);
        primaryStage.setTitle("Zahlen-Raten");
        primaryStage.setResizable(false);
        primaryStage.show();
       
    }
   
    public static void main(String[] args) {
        launch(args);
     }

}

Könnte mir Vorstellen das nur ein ganz kleiner Tipp in die richtige Richtung helfen würde.

Viele Grüße
 
In der Klasse

Java:
import javafx.scene.layout.BorderPane;
import javafx.scene.control.*;

public class RateSpielGUI extends BorderPane{
 
    public RateSpielGUI()
    {
BorderPane borderpane = new BorderPane();
  
        Button button = new Button("Versuch");
  
        borderpane.setCenter(button);
        borderpane.setVisible(true);
        }
}
erzeugst du zwar ein Object von BorderPane und auch Button, aber die Objecte werden nirgends geadded.
Da RateSpielGUI selbst von einem Borderpane erbt kannst du die Zeile
Code:
BorderPane borderpane = new BorderPane();
eigentlich sparen. Ich würde mal googeln wie man bei Javafx componenten Added.
Ich vermute mit
Code:
this.setCenter(button);

Dann könnte es klappen 😉

Ungefähr so:
Code:
import javafx.scene.layout.BorderPane;
import javafx.scene.control.*;

public class RateSpielGUI extends BorderPane{
 
    public RateSpielGUI()
    {
        Button button = new Button("Versuch");
        this.setCenter(button);
        this.setVisible(true);
        }
}
 
Wow das war ja wirklich einfach.
Das heißt ungefähr soviel das er DIESEN Button auf den Center der BorderPane setzt?
Und wenn diese BorderPane in der Hauptklasse wäre, würde das wie oben beschrieben passen, nur das ich es auf die Stage (zB) adden muss?

Vielen Dank
 

Zurück
Oben