Nabend zusammen,
falls es das Thema schon gab, dann bin ich bei der Suchfunktion leider gescheitert und bitte um kurze Info, Verschieben (glaub es passt besser ins Anfänger-Forum...) und/oder Löschen des überflüssigen Beitrags. ^^
Ich programmiere zwischendurch als Hobby und versuche gerade ein altes Bastelobjekt aus Swing nach JavaFX zu übertragen und stoße dabei direkt am Anfang an meine Grenzen. Vielleicht hab ich aber auch nur ein Brett vorm Kopf. Ich habe mir schon zig Tutorials zum managen mehrerer Stages durchgelesen und geschätzte 3h YouTube geschaut, doch irgendwie scheitert es an der Umsetzung. Meist, weil entweder auf FXML verzichtet wird und/oder alles in eine Controller-Klasse gepackt wird.
Ich bin jetzt soweit, dass ich einen vorläufigen Aufruf zweier Fenster hinbekommen habe, aber da stellt sich die erste Frage, ob das nicht auch "eleganter" geht?
Die zweite Frage bezieht sich auf das Einbinden einer css-Datei. Dadurch, dass ich meine Methoden als static deklariert habe (andere Lösung?), weiß ich nun nicht, wie ich auf die css zugreifen kann.
Vielleicht bin ich mittlerweile auch einfach nur noch verwirrt, was die Thematik angeht.
Wo ist mein Denkfehler?
falls es das Thema schon gab, dann bin ich bei der Suchfunktion leider gescheitert und bitte um kurze Info, Verschieben (glaub es passt besser ins Anfänger-Forum...) und/oder Löschen des überflüssigen Beitrags. ^^
Ich programmiere zwischendurch als Hobby und versuche gerade ein altes Bastelobjekt aus Swing nach JavaFX zu übertragen und stoße dabei direkt am Anfang an meine Grenzen. Vielleicht hab ich aber auch nur ein Brett vorm Kopf. Ich habe mir schon zig Tutorials zum managen mehrerer Stages durchgelesen und geschätzte 3h YouTube geschaut, doch irgendwie scheitert es an der Umsetzung. Meist, weil entweder auf FXML verzichtet wird und/oder alles in eine Controller-Klasse gepackt wird.
Ich bin jetzt soweit, dass ich einen vorläufigen Aufruf zweier Fenster hinbekommen habe, aber da stellt sich die erste Frage, ob das nicht auch "eleganter" geht?
Die zweite Frage bezieht sich auf das Einbinden einer css-Datei. Dadurch, dass ich meine Methoden als static deklariert habe (andere Lösung?), weiß ich nun nicht, wie ich auf die css zugreifen kann.
Java:
// die obligatorische Main
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("FirstWindow.fxml"));
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Java:
// Controller für das erste Fenster
public class FirstController {
public void openScreen2(){
SecondController.showScreen();
}
}
Java:
// zweites Fenster
public class SecondScreen {
public static void start() {
try {
Stage secondStage = new Stage();
FXMLLoader loader = new FXMLLoader(SecondController.class.getResource("SecondWindow.fxml"));
AnchorPane root = (AnchorPane) loader.load();
Scene scene = new Scene(root,400,400);
//scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
secondStage.setScene(scene);
secondStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
}
Java:
// Controller für das zweite Fenster
public class SecondController {
public static void showScreen(){
SecondScreen.start();
}
}
Vielleicht bin ich mittlerweile auch einfach nur noch verwirrt, was die Thematik angeht.
Zuletzt bearbeitet: