JavaFX switch scenes 💞

Поделиться
HTML-код
  • Опубликовано: 10 янв 2021
  • JavaFX switch scenes with using SceneBuilder tutorial example explained
    #javafx #switch #scenes
    //--------------------------------Main.java--------------------------------------
    package application;
    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.stage.Stage;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    public class Main extends Application {
    @Override
    public void start(Stage stage) {
    try {
    Parent root = FXMLLoader.load(getClass().getResource("Scene1.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    public static void main(String[] args) {
    launch(args);
    }
    }
    //---------------------------------SceneController.java---------------------------------------
    package application;
    import java.io.IOException;
    import javafx.event.ActionEvent;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Node;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.stage.Stage;
    public class SceneController {
    private Stage stage;
    private Scene scene;
    private Parent root;
    public void switchToScene1(ActionEvent event) throws IOException {
    root = FXMLLoader.load(getClass().getResource("Scene1.fxml"));
    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
    scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }
    public void switchToScene2(ActionEvent event) throws IOException {
    Parent root = FXMLLoader.load(getClass().getResource("Scene2.fxml"));
    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
    scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }
    }
    //------------------------------------------------------------------------------------------------
    Bro Code merch store 👟 :
    ===========================================================
    teespring.com/stores/bro-code-5
    ===========================================================
    music credits 🎼 :
    ===========================================================
    Up In My Jam (All Of A Sudden) by - Kubbi / kubbi
    Creative Commons - Attribution-ShareAlike 3.0 Unported- CC BY-SA 3.0
    Free Download / Stream: bit.ly/2JnDfCE
    Music promoted by Audio Library • Up In My Jam (All Of A...
    ===========================================================
  • НаукаНаука

Комментарии • 155

  • @BroCodez
    @BroCodez  3 года назад +33

    //--------------------------------Main.java--------------------------------------
    package application;

    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.stage.Stage;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    public class Main extends Application {

    @Override
    public void start(Stage stage) {
    try {

    Parent root = FXMLLoader.load(getClass().getResource("Scene1.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();

    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    public static void main(String[] args) {
    launch(args);
    }
    }
    //---------------------------------SceneController.java---------------------------------------
    package application;
    import java.io.IOException;
    import javafx.event.ActionEvent;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Node;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.stage.Stage;
    public class SceneController {
    private Stage stage;
    private Scene scene;
    private Parent root;

    public void switchToScene1(ActionEvent event) throws IOException {
    root = FXMLLoader.load(getClass().getResource("Scene1.fxml"));
    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
    scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }

    public void switchToScene2(ActionEvent event) throws IOException {
    Parent root = FXMLLoader.load(getClass().getResource("Scene2.fxml"));
    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
    scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }
    }
    //-----------------------------------------Scene1.fxml-------------------------------------------------












    //-----------------------------------------Scene2.fxml-------------------------------------------------












    //------------------------------------------------------------------------------------------------------

    • @catharperfect7036
      @catharperfect7036 3 месяца назад

      I accidentally typed .getScene(scene); instead of .setScene(scene); and it took me 10 minutes to fix it.
      Am I doomed at coding?

    • @desmondkuffour397
      @desmondkuffour397 9 дней назад

      @@catharperfect7036 you're doomed if you stop.

  • @JLSXMK8
    @JLSXMK8 3 года назад +15

    You literally uploaded this just in time!!! I was wondering how I could switch scenes in JavaFX, because I'll need to work on a project coming up. Let me tell you, if the stuff in this video works on my PC, you've just saved the entire thing for me! Thank you!

  • @carolinezeiler8112
    @carolinezeiler8112 2 года назад +3

    You just saved the day (23:25). Been working on this all afternoon, my head is going to explode. Been looking in all my books, been watching all my usual tutorials and some others, your code is the only one that actually worked. THANKS ++++ I learned that you do not have access to the Controller Panel on the bottom left part of the SceneBuilder when you open it in IntelliJ. You can only access it within SceneBuilder itself.

  • @alesto8962
    @alesto8962 3 года назад +5

    Love this video. I was wondering how to do this switching the scenes, now thanks to you I'm enlightened:)

  • @mustaphaELHOURA
    @mustaphaELHOURA 3 года назад +2

    The best teacher ever, thank you!

  • @realrrnc
    @realrrnc 3 года назад

    The best one who do programming

  • @ernanfer2
    @ernanfer2 2 года назад

    I like all your videos about javaFx ...thanks for share

  • @andrijakolenda8161
    @andrijakolenda8161 2 года назад

    Really appreciate the video, even though scene builder isn't popular content. Helped me a ton brother!

  • @ShinduPK4
    @ShinduPK4 2 года назад

    Bro I'm writing a quick, trash GUI for a project and you've been a LIFE SAVER. Love you

  • @michaelsd28
    @michaelsd28 2 года назад

    the way you explain is awesome! thank you!

  • @johnmcafee9169
    @johnmcafee9169 Год назад +1

    this course is really helpful

  • @kaisander5672
    @kaisander5672 3 года назад +8

    Its a great tutorial and all but theres a lot of stuff that i don't understand that wasn't explained... Especially the five lines of code that are in the methods for switching scene. I would've liked it a lot more if there was a bit more explanation as to why you wrote the lines that you did. thanks

  • @alexanderzharkov6953
    @alexanderzharkov6953 2 года назад

    You are the best. Keep going. I am glad I've found your channel

  • @amadoutraore1967
    @amadoutraore1967 2 месяца назад

    I am now learning all from you Thank you once again

  • @StrawberryLatteMeow
    @StrawberryLatteMeow Год назад

    Thank you so much so the Javafx tutorials! you are a lifesaver

  • @kenkinyua7036
    @kenkinyua7036 2 года назад

    much respect and gratitude to you bro💯

  • @chrisalbers1370
    @chrisalbers1370 3 года назад +1

    Finally got it!!! Thank you my dudee!!!!

  • @mariagabrielamaiz3878
    @mariagabrielamaiz3878 2 месяца назад

    100% useful for begginers 😁 thanks

  • @AbhijeetKumar-cm3jh
    @AbhijeetKumar-cm3jh 3 года назад

    Loving this Series

  • @huzaifaalam8358
    @huzaifaalam8358 13 дней назад

    Thank you very much for this video. I have been struggling for the past two nights and could not find the solution until I watched this one.

  • @adamsmith2357
    @adamsmith2357 2 года назад

    great content, exactly what I was looking for

  • @techhub_
    @techhub_ Год назад

    Amazing, you made things so easy!

  • @anandbmuley
    @anandbmuley 2 года назад

    Thank You @Bro Code. Finally I found a simple solution. Thank for sharing this video :)

  • @MILENA-mh2wf
    @MILENA-mh2wf 3 месяца назад

    that’s a great video! thanks u really help me)

  • @user-ct5us8xg5v
    @user-ct5us8xg5v 2 месяца назад

    i like your video,i am learing javafx from you

  • @crazy-forever
    @crazy-forever Месяц назад

    It was soo helpful and fun toooo

  • @rolakhaled5070
    @rolakhaled5070 2 месяца назад

    amazingley amazing

  • @elmanuele6558
    @elmanuele6558 2 года назад

    thank you, just thanks for this video ❤

  • @peterg.1821
    @peterg.1821 Год назад

    I appreciate your video! It provided me with significant assistance. Greetings from Vienna!

  • @TheGreat8220
    @TheGreat8220 2 года назад

    Keep up the awesome work!

  • @JamesBrodski
    @JamesBrodski Год назад

    Thank you so much! This helped a lot! God bless :)

  • @kimevar
    @kimevar 3 года назад

    Nice videos keep up the good work!

  • @audryespinoza8153
    @audryespinoza8153 2 года назад

    Muchas gracias por el codigo, me ayudo mucho a entender este procesoooo
    Thank you sooo much

  • @mayurpatel481
    @mayurpatel481 Год назад

    Really helpful. Thanks a lot.

  • @englishgrammartutorial9618
    @englishgrammartutorial9618 3 года назад

    Go ahead,excellent

  • @krisinfo7823
    @krisinfo7823 23 дня назад

    Excellent!! Thank you!1

  • @chocodonuts3644
    @chocodonuts3644 7 месяцев назад

    WOW you are amazing

  • @SuMyatHoney
    @SuMyatHoney 3 года назад

    Hi thanks for the tutorial I am subing

  • @ashkanshakiba9579
    @ashkanshakiba9579 3 года назад

    Useful 👌👍

  • @imadnosairat480
    @imadnosairat480 Год назад

    thank you very much :D
    from deep of my heart

  • @LampaHQ
    @LampaHQ 2 года назад

    Wonderful, thank you

  • @sweetlies1937
    @sweetlies1937 3 года назад

    Thank you so much, bro! x)

  • @oleksandr3275
    @oleksandr3275 2 года назад

    Thank you. It helped me :)

  • @Jhonyhndz
    @Jhonyhndz 7 месяцев назад

    Muchas gracias. Te felicito, tienes una forma muy agradable de enseñar.

  • @michaelsd28
    @michaelsd28 2 года назад

    great tutorial

  • @alexmartinezmunoz94
    @alexmartinezmunoz94 7 месяцев назад

    Thank you 😭💕💞

  • @ozy_drag5309
    @ozy_drag5309 Год назад

    this guys the goat

  • @fahengraphic7743
    @fahengraphic7743 9 месяцев назад

    Perfect man, thanks a lot

  • @sushantlama9010
    @sushantlama9010 3 года назад

    Life saver❤️❤️❤️❤️❤️❤️🙏👍

  • @rassimve4873
    @rassimve4873 6 месяцев назад

    bro's the best

  • @chemso_1
    @chemso_1 2 месяца назад

    da best

  • @juzerbaatwala8868
    @juzerbaatwala8868 7 месяцев назад

    superb!

  • @piezadigital
    @piezadigital Год назад

    Encontré lo que necesitaba en este video, gracias.

  • @ahmedshafiq9074
    @ahmedshafiq9074 2 года назад

    good work

  • @danielsballs
    @danielsballs Год назад

    helped a lot, thanks!

  • @jasperb.2003
    @jasperb.2003 2 года назад

    Awesome

  • @annexsoftworks
    @annexsoftworks 2 года назад

    Excellent vid

  • @aminrezaabbasi7813
    @aminrezaabbasi7813 Год назад

    That was great, thank you

  • @MaryamPrhn
    @MaryamPrhn 7 месяцев назад

    great!!

  • @AdamOndryas
    @AdamOndryas 8 месяцев назад

    great ivd bor

  • @albertovigna1268
    @albertovigna1268 2 года назад

    GR8 VIDEO M8!
    THANKS!!!

  • @alessioolivieri5460
    @alessioolivieri5460 2 года назад

    Thanki you very interesting

  • @wesleybritovlk
    @wesleybritovlk 8 месяцев назад

    You are beautiful! THANK YOU BRO!

  • @eliasbergmann7356
    @eliasbergmann7356 2 года назад

    Love your content! this really helped! could you make a tutorial on Windowbuilder?

  • @GerardCastro-mg3wq
    @GerardCastro-mg3wq Месяц назад

    Nice video man !

  • @raihanfulviansyah
    @raihanfulviansyah Год назад

    gg bang,karena video ini tugas akhir sekolahku telah berjalan😁😁

  • @muneermjmuneer1099
    @muneermjmuneer1099 Год назад

    Thanks a lot

  • @mikoo_k
    @mikoo_k Год назад

    bro , you are so good

  • @hamzachiguer642
    @hamzachiguer642 Год назад

    Thank you bro

  • @2233zzwei
    @2233zzwei 3 года назад

    Great video! Can you do a JavaScript tutorial?

  • @NovaRetina
    @NovaRetina 8 месяцев назад

    Thank you!!

  • @felipe_6041
    @felipe_6041 Год назад

    Very well!!!! Muito bom!!!!
    Legal! Legal!

  • @siavashnourmohammadi9189
    @siavashnourmohammadi9189 Год назад

    thank you bro

  • @gilantonyborba3616
    @gilantonyborba3616 8 месяцев назад

    Thank youuuuu!!!

  • @romanmatton2636
    @romanmatton2636 9 месяцев назад

    nice video

  • @-gamingmd-1630
    @-gamingmd-1630 2 года назад

    great, thank you!

  • @alfredochola5971
    @alfredochola5971 Год назад

    Thanks bro😃😂

  • @lolyabmasle99
    @lolyabmasle99 2 месяца назад

    I did it, man thanks!

  • @viacheslavsvo4928
    @viacheslavsvo4928 Год назад

    It's great thx!

  • @misharatkevich9808
    @misharatkevich9808 2 года назад +1

    HOLY FUCKING SHIT, the scene/screen switch is EXACTLY the problem that stumped me earlier on my first serious project, so much so that it really killed my motivation at that time, and everything I could find on the subject was something monstrously complicated and big that I couldn't adapt and make work.
    I'll need to test this myself, of course, but... this looks so concise. This looks REALLY concise. I still have the question of "can this work if each of the two methods is in its own separate controller?" (so that you don't have to have the same controller for all the scenes). but other than that... this is so concise. And the only complex part that I'm not fully understanding yet is the Stage/Node/event cast, which is a lot of casting and chaining and I'll need to read the docs more carefully to see how and why this works, but if this works out for me... holy shit, this is what I needed. I think this is what I needed.
    Thanks a lot, man.
    EDIT: Update, did it slightly differently (with some other help), but in a similar way. I'm not sure if this is the best option, but this helped A LOT. Thank you.

    • @hunchortw
      @hunchortw 2 года назад

      do you mind helping me out by saying what way you did it? because i can't get the scenes to swtich, it gives me pointer null error.

    • @StarDust4866
      @StarDust4866 2 года назад

      @@hunchortw Not sure you'll see this but what solved it for me was putting the fxml files in the resources file. No problems after that.

  • @hasankhani6285
    @hasankhani6285 2 года назад

    Best

  • @David-hv9zn
    @David-hv9zn 5 месяцев назад

    👍

  • @DjojoElMaestro
    @DjojoElMaestro 6 месяцев назад

    ty

  • @VicMarLL
    @VicMarLL Месяц назад

    thanks dude

  • @ctluwua7695
    @ctluwua7695 3 года назад +1

    YAY

  • @asfsvn
    @asfsvn Год назад

    thanks bro

  • @oussamajmaa9205
    @oussamajmaa9205 2 года назад +1

    thank you so much it works perfectly , but can i send data from scenes using this method ?

  • @wolanus
    @wolanus 3 года назад

    Great video!

  • @mehdiel7218
    @mehdiel7218 2 года назад

    Thank you Dear

  • @halcyon-s
    @halcyon-s Год назад

    thanks!

  • @xXEkoLogikoXx
    @xXEkoLogikoXx 2 года назад

    Another comment because you're saving my university life

  • @mahmoudnasr8710
    @mahmoudnasr8710 Год назад

    Thanks bro 👌

  • @learntoswim512
    @learntoswim512 2 года назад +3

    Any reason why you don't need to add @FXML before the switchToScene1 and 2 function? I had to to make it work. Thanks.

  • @saimhafeez4240
    @saimhafeez4240 3 года назад +18

    what about going back to scene 1 without making new scene ?

    • @aldolunabueno2634
      @aldolunabueno2634 Месяц назад

      This is a good question, because sometimes we want to our software to be less resource-intensive. This is my approach:
      public class SceneController {
      static private Stage stage;
      static private Scene scene1;
      static private Scene scene2;
      @FXML
      private void switchToScene1(ActionEvent event) {
      stage.setScene(scene1);
      stage.show();
      System.out.println("Stage: " + stage);
      System.out.println("Scene 1: " + scene1);
      }
      @FXML
      private void switchToScene2(ActionEvent event) throws IOException {
      if (scene2 == null) {
      Parent root = FXMLLoader.load(this.getClass().getResource("scene2.fxml"));
      scene2 = new Scene(root);
      scene1 = ((Node)event.getSource()).getScene();
      stage = (Stage) scene1.getWindow();
      }
      stage.setScene(scene2);
      stage.show();
      System.out.println("Stage: " + stage);
      System.out.println("Scene 2: " + scene2);
      }
      }

    • @lenaandthelambcampingadven3422
      @lenaandthelambcampingadven3422 10 дней назад

      So this is how one should create a modular Ui? Scenes are a collection of linked Ui elements

  • @alesto8962
    @alesto8962 2 года назад

    Im back to this video with additional question. Bro how to measure the time between switching scenes in mili or nanoseconds? I know for this example it is nearly 0 but for more complicated memory-eating scenes?

  • @Bruh-405
    @Bruh-405 Год назад

    Bussin

  • @saurabhatre2158
    @saurabhatre2158 10 месяцев назад

    Thanks Thanks 😊

  • @piotrrymarz4536
    @piotrrymarz4536 2 года назад

    thanks

  • @AlejandzZ
    @AlejandzZ 3 года назад

    Thank you !!!

  • @1dreamliner
    @1dreamliner 2 года назад

    Thanks bro