From 6f70ef6ae9ba2315cfde60eaac228ed9d39eb358 Mon Sep 17 00:00:00 2001
From: Ryan <ryanle@live.com>
Date: Fri, 16 Aug 2019 14:25:45 -0500
Subject: [PATCH] Guide now shows how to switch between scenes

---
 .../META-INF/HelloWorld.kotlin_module         | Bin 0 -> 16 bytes
 .../HelloWorld/app/HomeController.class       | Bin 0 -> 1846 bytes
 .../out/production/HelloWorld/app/Main.class  | Bin 0 -> 1192 bytes
 .../app/SecondScreenController.class          | Bin 0 -> 1286 bytes
 .../production/HelloWorld/app/home.fxml}      |   5 +-
 .../HelloWorld/app/secondScreen.fxml          |  19 ++++++
 .../HelloWorld/sample/Controller.class        | Bin 839 -> 0 bytes
 .../production/HelloWorld/sample/Main.class   | Bin 1200 -> 0 bytes
 HelloWorld/src/app/HomeController.java        |  39 ++++++++++++
 HelloWorld/src/{sample => app}/Main.java      |   4 +-
 .../src/app/SecondScreenController.java       |  23 +++++++
 .../sample/sample.fxml => src/app/home.fxml}  |   5 +-
 HelloWorld/src/app/secondScreen.fxml          |  19 ++++++
 HelloWorld/src/sample/Controller.java         |  21 -------
 README.md                                     |  57 +++++++++++++++---
 15 files changed, 154 insertions(+), 38 deletions(-)
 create mode 100644 HelloWorld/out/production/HelloWorld/META-INF/HelloWorld.kotlin_module
 create mode 100644 HelloWorld/out/production/HelloWorld/app/HomeController.class
 create mode 100644 HelloWorld/out/production/HelloWorld/app/Main.class
 create mode 100644 HelloWorld/out/production/HelloWorld/app/SecondScreenController.class
 rename HelloWorld/{src/sample/sample.fxml => out/production/HelloWorld/app/home.fxml} (82%)
 create mode 100644 HelloWorld/out/production/HelloWorld/app/secondScreen.fxml
 delete mode 100644 HelloWorld/out/production/HelloWorld/sample/Controller.class
 delete mode 100644 HelloWorld/out/production/HelloWorld/sample/Main.class
 create mode 100644 HelloWorld/src/app/HomeController.java
 rename HelloWorld/src/{sample => app}/Main.java (83%)
 create mode 100644 HelloWorld/src/app/SecondScreenController.java
 rename HelloWorld/{out/production/HelloWorld/sample/sample.fxml => src/app/home.fxml} (82%)
 create mode 100644 HelloWorld/src/app/secondScreen.fxml
 delete mode 100644 HelloWorld/src/sample/Controller.java

diff --git a/HelloWorld/out/production/HelloWorld/META-INF/HelloWorld.kotlin_module b/HelloWorld/out/production/HelloWorld/META-INF/HelloWorld.kotlin_module
new file mode 100644
index 0000000000000000000000000000000000000000..2983af70661ad375cc499ebc4da5a68ca46c532e
GIT binary patch
literal 16
RcmZQzU|?ooU|@t|egFVe02KfL

literal 0
HcmV?d00001

diff --git a/HelloWorld/out/production/HelloWorld/app/HomeController.class b/HelloWorld/out/production/HelloWorld/app/HomeController.class
new file mode 100644
index 0000000000000000000000000000000000000000..10e079f5d9bd5058096e133fe482a6fdd1763b37
GIT binary patch
literal 1846
zcmX^0Z`VEs1_l#`6fOoa24hYJQ3ewZ22(BuGX`@G1`7@bOOUt~2ZJ>igAIc%7lR#x
zJv)N~JA)$^0}q1}7lSi{3p;}=7Xv?o8%V^Roxy{PL5RT<M0l|?c(XJ3Ffy>^W~QX%
zq%tzd_+%xPC8kyA7bmCYrRpc==am%Y=ji(+CZ*<BGcrg9mFAUX=B9>a7H1~qq&nv1
z<(DLuWaj4;GcpLlw5C<$=IFac`1)8gGO*cX=4F=HF)}b~XofK|usG+Zq%tz_`();&
z`jzG;r51%GCV}h~^2tw5%n3^@$^`MDf-EH&nZ=9@B0h-)1^OQOxv9<&=j5aoSu-;5
zC+B1)XZxh4l{l4_l;r0zG6;Z0f-=)H;6j36A*cM3lKfnlGM?h{%#!4c;N+sz)I3H8
zSq+%OQ_E8GO7tC*K^}4iv8_RFW(5l~GDzW8#>l`{kXV$OSHj333R49MzyPqYH6sHn
zm=E#{N&p9gf*BM}<(YXY`Q^y+C5h>&`oSR5nvsFawIVsS0OYV@b_QQY2Cm@z(xT*4
zw@gsr38RLM9>@kB25ANv9tLp+2}TCxkc?D?Byb=p<mV}rWTYzOq^6Z9lqVJ|fWs#>
zMUS1qkB7mZA%KxV1ygkqC`eJ1GcrhqWMmdAWEO*sD=tYaDoHI;C`qj-(c@tVWC&tp
z5G+nj&d*DM1hXC}QLr-v^Du-kgt9Y)@i2rlL@+W4gPaOaZIHlXWDr6T1qTtxJCW=R
zQ9KOM3^9xhf+#Bd@>5cI7-AXXco^at5|H$R0uK^|JPe5pNjwb63^I%iLYT>kkwE}t
zqJB<dUb?=2QdVkm3Dj}=nfdyj{_xOeWRL<WggY4}gD^6%7pInlq*j2^0VGvHObjk5
z%FIg#rzVc{)Dq{M#NuK`24M|NaAJX|0SkhXHOPD<Aw~x7^wg4|)M9XiGcqV)GZ<n{
zUTTScXb>pdiGd7BtI!99Iyfu(<R_-27BMog<m4x&APj-&Kz0bk`__yM5)hl<euYF2
z*cTE|^TAmIIma+EaHgl0KoTb-g9wTb;Rb`k0354~3}R3fa7)1A)(~UDp?N|aNf9_o
zArjV%3>?L&C14$l4B}|61q*{6%Tk<?U(TS&Aj%-dz`(%Bzy!(_42%qt3=9lx42%p?
z3=9mc42+-*!@$TO%fP^(&%nsQ2olxW&cL{lfq{XEK@O^zfq{=fo`HdZ2cm#Mfk6>$
zs1kz=RI>#G6IhN*YYPLD5c4($7K9003``6R48jbY3?fLTaKTMc#$gI87E{C-I2k0c
znxcZk6gDiTNHcIU$Y3=^l|hYx2^<`A8JHPZ85kJMwYD*^3vp~?;M~E$b%24}cQ*r1
zq|SB*UO(+^415O|__r|#Y-12Sz#wGBBFUn=jX_wFWgCMC!uwJTYzzzx@(cnD3Jj7A
zN(|ZzDh!4UstjffYG5arK&*iV2LppSgF1r-10#a~gF1sIgBAl5gCv6-gEoT>12cm*
d0}q2PgB}A5gFXWT0}BHqg8>60gCRJwi~telvjG4A

literal 0
HcmV?d00001

diff --git a/HelloWorld/out/production/HelloWorld/app/Main.class b/HelloWorld/out/production/HelloWorld/app/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..7f08142a78c2a9baa548135a85d3c60c430d71c7
GIT binary patch
literal 1192
zcmX^0Z`VEs1_l!bKQ0Dg22CyoEe3541|2R2T?Rca27Lwtb_PQZ1|u#8V+Ip;22(bN
zP6jYwb7(pMW^gfZGMIs+%|V0(7lROkB|C!^JA*YN1Dj1|US^3MBLlOBW*8#_i*tTT
zDkB5GPi9`KUukYqYEejHQcfx(gOE>ta$-(cVo@fD4;5r7$;d2bWZ?2iEGW?TP0Y-*
zW@KP3E=epZVPp{3@X1OnOH8ZKFD^+;Pt^|wk=7tPcnXR#a}$dy!6J+dBG}Y1GO!fo
z=a(=th{9!)Q}a^w0}_i;^Gd848Ms_4l2Z#xGV}9_*%@pY8CY@?GxHc3#5AJ88uW7#
z^V0Q$ONuh{(!rLpBo?I?GcpKck!EDz3eGPrN=|jl1o@N`<PklP+j$s77)03_Y<U>$
z80;AtI5YBdQ}xm+a&y=j9C#QU8JyS|oOu{r7+e_{ghA>-enoO6BLlZbYEDkRLU?{r
zP6|7N8xMm!g9jsn5Q^GhkPeVdo;(a*4Bk8pJ`AEf489C1j0_yGU}a>GgX&2vD9Fi7
zP6YW|-x0xvIsoEpc*rm^2!OOfME#SpQj<#<8935YOPq5Oi$Q^*p@|e&U_om}27ZJd
zun;2ycY10`P--zaj2Ib|AQ1~O6&At}bMjJ4^h1MutQi@^K!&7M=z~H_-z~z|$0t8A
zCAEl=fh8wDF$G}=Ob4<<ATG5=3Mf$0fg~VC29Dy?l90?2P)vzpb4eH@gA_y@Ejp}S
zTtKN0q#qpSC`l9)3Ho4RNNOq0$S-GPV9QA?%}dT;P-GBd5C&%@W(G!3qF`WT5My9q
z&}U#|U}RumVAa~rz_^itfq{uZoPmLX4J^pXAi==EzyoHpGDtE=F)%PNGDtJXFff5N
zS2J)hFf%YP=xS|aU=m{9#=x?Jf%O0bo3FMI`!)s+?cEHVkvbv_Tp|oS+Zp(_G4N||
zV-P@CBF4bVz`(%EAi%)KAjZJYpur%(pu->twp0OPFw{~823-bO1~~>s1_1_H26+Yr
z1||kY1_lNe21W)Y22KWL1{J7(jN$&-!61mRii?4Xfq_AkfrUW~Y&^_QstjsiKdFO#
Gt^ojLo(p#X

literal 0
HcmV?d00001

diff --git a/HelloWorld/out/production/HelloWorld/app/SecondScreenController.class b/HelloWorld/out/production/HelloWorld/app/SecondScreenController.class
new file mode 100644
index 0000000000000000000000000000000000000000..85d953f236d22e35f14211ed43530620573e3719
GIT binary patch
literal 1286
zcmX^0Z`VEs1_l!be=Y_=26Ygj!NH)(#h}HY&BdU@pv%sn$IhV7#lX&Bz{Oz5V8qT~
z%*DXPU;+{`WoIzsV&G*k2N4$R43_K+R*Vd6Hko;uC3cJq%o>_uj0`N!`6;Q44E#Qs
zd8vM-xk;%-A&E&jsf-LlKKaRsIbn%KnIJw?kfkIevzU=V#wW3$KtDJ&IX^EYIJqb_
zHP1OeucRnHCnvSYnvsF0xID8YIRhfY$RMlXla*MOm{y^mT9%quqVJeol9`|93SwJ>
zoWKeeW@M1Ut&EX@tst=|HLrw`K@_H{I5{;hRX+eMY|Y5P3g$C1h@i>`gH%~FGO(3r
z=B4D9Bg>a0rl;x$gGg&e1}@i%<kSL?!;0A%K>XnR(xT*4w@gr2NMrY^9>`lf3_=XT
zJPbArwu}s%8Tq-XdTAB8IqVE}JPh^>4(tq$JPb|@&WsGgAjN4F`e0{5oz2J~gdz%d
zEXY6?b_Q1-1~&$GMg~C?6@K|CsXPoG44ym;UJTwy`a#}+c!r0;hrySJ!H+?hkwFS~
zJTWo|fK1lUNz6;v_fN`7O)h~tQa>|a-_su+9*hhe>8T~oIf=!^j10mWn&9w-Xafsc
zGcxcaOacorGH|D-mIS31gTs)KK?#xqAew?piZb)kt)b@RrIzT22KiVsGKhf;NvqHY
z1)siKgs+cJequ^$5hDXjPJUtv!Vs7ar~ydsw`OFJfY^i<&fsJw0W}|-+K>|=BLio8
zY6&F185u-Sd<Y2`Ye*P?qlb|}45|Wd30T}3VoW$RnTaDQ0>=$R0%THgY6(~eBZD}a
zYr(=`$FdY><d-ujG6*mTGJpUR10yJ%F)%WSFfcIaGcYnRGB7Z(YHep=+{nPdz{DWR
zz`(!;7UW?NV_;z50kc^d#2F+Q7#J8CBpIX_n82FnGB7i+GB7ZhYi(m-5@O!Qz_NpZ
z^#B8#?`{V6NS*Br9Ddr{7&s3waBXAY-p0UlfPvSFMUq8#8v~yt%QgmngmqF3Yzzzx
z{0ssN0t}K2LJZmrA`FHMq6}sXVqhnjK&*i}fq}uCL7G8^fssLgL7hRCL5_imL6Sj^
lL7qW@ftf*@frmknL5YEdL79PpfrWvQL4|>lK^5#ZH2@A-JZJy_

literal 0
HcmV?d00001

diff --git a/HelloWorld/src/sample/sample.fxml b/HelloWorld/out/production/HelloWorld/app/home.fxml
similarity index 82%
rename from HelloWorld/src/sample/sample.fxml
rename to HelloWorld/out/production/HelloWorld/app/home.fxml
index f24570f..ea6d937 100644
--- a/HelloWorld/src/sample/sample.fxml
+++ b/HelloWorld/out/production/HelloWorld/app/home.fxml
@@ -7,8 +7,7 @@
 <?import javafx.scene.control.MenuItem?>
 <?import javafx.scene.layout.BorderPane?>
 
-
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
+<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="app.HomeController">
    <top>
       <MenuBar BorderPane.alignment="CENTER">
         <menus>
@@ -40,6 +39,6 @@
       <Button mnemonicParsing="false" onAction="#clickRightButton" text="Right Button" BorderPane.alignment="CENTER" />
    </right>
    <bottom>
-      <Button mnemonicParsing="false" onAction="#clickBottomButton" text="Reset" BorderPane.alignment="CENTER" />
+      <Button mnemonicParsing="false" onAction="#switchScreen" text="Switch Screen" BorderPane.alignment="CENTER" />
    </bottom>
 </BorderPane>
diff --git a/HelloWorld/out/production/HelloWorld/app/secondScreen.fxml b/HelloWorld/out/production/HelloWorld/app/secondScreen.fxml
new file mode 100644
index 0000000..e2e3ee0
--- /dev/null
+++ b/HelloWorld/out/production/HelloWorld/app/secondScreen.fxml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.SplitPane?>
+<?import javafx.scene.layout.AnchorPane?>
+
+<SplitPane dividerPositions="0.5" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" orientation="VERTICAL" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="app.SecondScreenController">
+    <items>
+        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0">
+            <children>
+                <Label alignment="CENTER" contentDisplay="CENTER" layoutX="209.0" layoutY="81.0" prefHeight="196.0" prefWidth="598.0" text="This is the second screen!" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
+            </children></AnchorPane>
+        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0">
+         <children>
+            <Button layoutX="212.0" layoutY="53.0" mnemonicParsing="false" onAction="#switchScreen" prefHeight="296.0" prefWidth="798.0" text="Go Back!" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
+         </children></AnchorPane>
+    </items>
+</SplitPane>
diff --git a/HelloWorld/out/production/HelloWorld/sample/Controller.class b/HelloWorld/out/production/HelloWorld/sample/Controller.class
deleted file mode 100644
index 52b23410f9fe07a2928623cae0153ada31a5d7f4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 839
zcmX^0Z`VEs1_l!bRW1e&21!l^b_OX925Bw^83tJn200D}d3FW`b_PX82DaSHl$4xQ
zMg|$5ti-a!v<m&=<kY-W{p9?-lA`<^eV@dn)EsL@2Fak(ypqh^)UeFr%%q%D$Gp7!
zlEjkC{JdgD1|gW%w2IsueYXf-A8SSiHk-`6%o00B24)S-Fh&Lz=lqmZMh1SL%)C^;
z(%hufqL9QSki9}a`N@enVTnbVAU;%(r6eP>n2|x)r#LaUASYGd8RD9p)FNv}2L9xn
z%;apJ)U*<((vp(=JVpiqut-p5dInrb5G>@BUs95v3sc4woL^d$oa&YdvX>uWrXI-W
zJPf=Hd^`-C3|x#13LzP(3Q1tY6-qKv6>?J3N)*Zyixt3zrl#nzGbr&eC^M)qGAN=c
zEdn_LMJ*$PWJpG4u|j4s*sS7`#G;baB88IFiV{6W20;uTGBOB&+@qh9n3t~apOlrF
zT*Am81rov@IgAYK#i=DBsTC!R45Av~sDS7VE-A{)OSjexV^CyZXW(F9U|?im0(p>u
zk%60mfq{*Ik%5PSfq{jA5#)CUMh1Qc1_pfwMg~R(1_oBG?F@_?85kIt7zCh-L0SYE
z7#MgU3K)bKgu#Z2Fz`V&TQD$z<+!xAFfa)*Z)0FVn83xr#K6G7&A`dP!+<b_3vP-i
k4pUgMn8MG%$smB$6fqp8uwgMpn1Pc)1gk0HV1G*h03IZ(e*gdg

diff --git a/HelloWorld/out/production/HelloWorld/sample/Main.class b/HelloWorld/out/production/HelloWorld/sample/Main.class
deleted file mode 100644
index 351f00d54b7c3b99ff792901a1951014803c8163..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1200
zcmX^0Z`VEs1_l!bKQ0Dg22CyoEe3541|2R2T?Rca27Lwtb_PQZ1|u#8V+Ip;22(bN
zP6jYwb7(pMW^gfZGMIs+%|V0(7lROkB|C!^JA*YN1Dj1|US^3MBLlOBW*8#_i*tTT
zDkB5GPi9`KUukYqYEejHQcfx(gOE>ta$-(cVo@fD4;5r7$;d2bWZ?BFPRuRHN!9mF
z%*?Z9WMC~WNh~U1WDwWz$x19sOsmi@E=f#J)ei=d)*x$m3W_pw6N@UrB8&_o*wisH
zuoUIzmoPGj!ex_F^HTK#5{pvvN~{?fxLhleQwvHm^Ye<?8EhCCSaK6H^B5V#G@`*8
z^m7vP()EK&iZb)k!IrWl7Nr+6G6-XlW@O+B&Mz%WPIb!!d6pC85j~LGc^E_(MA;c^
zc^K>%>=_xjAs*FBtH{k^XK>(QaAa^|XK?0WaA9y|WDo}F0QnZlos10J9;rDw`3m9r
zML8+#3~oFO?hGD`3_>VsgF!k#c6stJcrkeMF!(Tt@-X-^sKBiRhb<$698_CkK|xMt
zaw5p{`i=-T)C~}?!-I#BK>(x;BI=)%m6}|_$iR`FTH>6OSPTjg4NasF0}EO+GVmkx
zfQ1+txYJWhf>MjY0maCm1c_aUsjy&%n3I=Uq8}RMW6j7Q1~MeALLU@h`fd@vK0f)0
zDXB$_3@kbMi75y}U^<W;0&%G|Qdoh~4<r>aGH?{9mV{)MfTBwjn@hqN8KfZMXfa~#
z;sQ#7ApPKAM@grkc+dw6Ly}B!Mt(UX16xjFX<l*$gCc_vgD^NtF*7iNQU(JfgBSw?
zgFXWz10w?i1FP0{2F8sH3=B*R;tUK7Y+yl71_=fR1|Be*l|hn0ih+TFkwKb4hJgvJ
zxtf84fti7UL04-V1CtQ*HU^d*46Fwj*nG8x*taooXzym=jMNcf;1Xfr+0MYXje%c#
z8-oDC5-|o=1_lOR1_1^>1~CSH1`P%Q1|0@Lu%!wRgQ1o(Fz7PKGRQG7G6*opGRQM1
zFfcJFGB7Z(FfcMGF>o>{GpIoQV+{At4hBJlRa^{A3=9mS3@i*{VB=waQe{vB`$-+_
Ga}5A2rViQw

diff --git a/HelloWorld/src/app/HomeController.java b/HelloWorld/src/app/HomeController.java
new file mode 100644
index 0000000..659af5f
--- /dev/null
+++ b/HelloWorld/src/app/HomeController.java
@@ -0,0 +1,39 @@
+package app;
+
+import javafx.fxml.FXML;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.scene.control.Label;
+import javafx.stage.Stage;
+
+import java.awt.event.ActionEvent;
+import java.io.IOException;
+
+public class HomeController {
+    @FXML
+    private Label middle;
+
+    public void clickLeftButton() {
+        middle.setText("The button on the left was clicked.");
+    }
+
+    public void clickRightButton() {
+        middle.setText("The button on the right was clicked.");
+    }
+
+    public void clickBottomButton() {
+        middle.setText("This is the starter text.");
+    }
+
+    public void switchScreen(javafx.event.ActionEvent event) throws IOException {
+        Parent parent = FXMLLoader.load(getClass().getResource("secondScreen.fxml"));
+        Scene scene = new Scene(parent);
+
+        Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
+
+        window.setScene(scene);
+        window.show();
+    }
+}
diff --git a/HelloWorld/src/sample/Main.java b/HelloWorld/src/app/Main.java
similarity index 83%
rename from HelloWorld/src/sample/Main.java
rename to HelloWorld/src/app/Main.java
index 840cd00..16f6d3c 100644
--- a/HelloWorld/src/sample/Main.java
+++ b/HelloWorld/src/app/Main.java
@@ -1,4 +1,4 @@
-package sample;
+package app;
 
 import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
@@ -10,7 +10,7 @@ public class Main extends Application {
 
     @Override
     public void start(Stage primaryStage) throws Exception{
-        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
+        Parent root = FXMLLoader.load(getClass().getResource("home.fxml"));
         primaryStage.setTitle("Hello World");
         primaryStage.setScene(new Scene(root, 800, 600));
         primaryStage.show();
diff --git a/HelloWorld/src/app/SecondScreenController.java b/HelloWorld/src/app/SecondScreenController.java
new file mode 100644
index 0000000..9ac8837
--- /dev/null
+++ b/HelloWorld/src/app/SecondScreenController.java
@@ -0,0 +1,23 @@
+package app;
+
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
+
+import java.awt.event.ActionEvent;
+import java.io.IOException;
+
+public class SecondScreenController {
+
+    public void switchScreen(javafx.event.ActionEvent event) throws IOException {
+        Parent parent = FXMLLoader.load(getClass().getResource("home.fxml"));
+        Scene scene = new Scene(parent);
+
+        Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
+
+        window.setScene(scene);
+        window.show();
+    }
+}
diff --git a/HelloWorld/out/production/HelloWorld/sample/sample.fxml b/HelloWorld/src/app/home.fxml
similarity index 82%
rename from HelloWorld/out/production/HelloWorld/sample/sample.fxml
rename to HelloWorld/src/app/home.fxml
index f24570f..ea6d937 100644
--- a/HelloWorld/out/production/HelloWorld/sample/sample.fxml
+++ b/HelloWorld/src/app/home.fxml
@@ -7,8 +7,7 @@
 <?import javafx.scene.control.MenuItem?>
 <?import javafx.scene.layout.BorderPane?>
 
-
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
+<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="app.HomeController">
    <top>
       <MenuBar BorderPane.alignment="CENTER">
         <menus>
@@ -40,6 +39,6 @@
       <Button mnemonicParsing="false" onAction="#clickRightButton" text="Right Button" BorderPane.alignment="CENTER" />
    </right>
    <bottom>
-      <Button mnemonicParsing="false" onAction="#clickBottomButton" text="Reset" BorderPane.alignment="CENTER" />
+      <Button mnemonicParsing="false" onAction="#switchScreen" text="Switch Screen" BorderPane.alignment="CENTER" />
    </bottom>
 </BorderPane>
diff --git a/HelloWorld/src/app/secondScreen.fxml b/HelloWorld/src/app/secondScreen.fxml
new file mode 100644
index 0000000..e2e3ee0
--- /dev/null
+++ b/HelloWorld/src/app/secondScreen.fxml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.SplitPane?>
+<?import javafx.scene.layout.AnchorPane?>
+
+<SplitPane dividerPositions="0.5" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" orientation="VERTICAL" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="app.SecondScreenController">
+    <items>
+        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0">
+            <children>
+                <Label alignment="CENTER" contentDisplay="CENTER" layoutX="209.0" layoutY="81.0" prefHeight="196.0" prefWidth="598.0" text="This is the second screen!" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
+            </children></AnchorPane>
+        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0">
+         <children>
+            <Button layoutX="212.0" layoutY="53.0" mnemonicParsing="false" onAction="#switchScreen" prefHeight="296.0" prefWidth="798.0" text="Go Back!" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
+         </children></AnchorPane>
+    </items>
+</SplitPane>
diff --git a/HelloWorld/src/sample/Controller.java b/HelloWorld/src/sample/Controller.java
deleted file mode 100644
index 4c94ff2..0000000
--- a/HelloWorld/src/sample/Controller.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package sample;
-
-import javafx.fxml.FXML;
-import javafx.scene.control.Label;
-
-public class Controller {
-    @FXML
-    private Label middle;
-
-    public void clickLeftButton() {
-        middle.setText("The button the left was clicked.");
-    }
-
-    public void clickRightButton() {
-        middle.setText("The button the right was clicked.");
-    }
-
-    public void clickBottomButton() {
-        middle.setText("This is the starter text.");
-    }
-}
diff --git a/README.md b/README.md
index 1f86143..5ece2c4 100644
--- a/README.md
+++ b/README.md
@@ -36,10 +36,12 @@ This tutorial will walk you through creating a basic JavaFX application. The end
 7. Click on `JavaFX`.
 8. Set the path to `SceneBuilder.exe`. Assuming you installed it to the default location, it *should* be located at `C:\Program Files\SceneBuilder\SceneBuilder.exe`.
 9. Click `OK`.
-10. IntelliJ should have generated three files within the `src` directory of your project, within a folder called `sample`.
-11. Find the file entitled `sample.fxml`.
-12. Right click on the file, and click the option that says `Open In SceneBuilder`. 
-	- This is the file that holds all of the code for the look of your application. Now that you've opened it up directly, whenever you make changes within the SceneBuilders, those changes will also be reflected with `sample.fxml` whenever you click save.
+10. IntelliJ should have generated three files within the `src` directory of your project, within a package called `sample`.
+11. Rename this `sample` package to `app`.
+	 - Make sure all occurrences are renamed to `app`.
+12. Find the file entitled `sample.fxml`, and rename it to `home.fxml`.
+14. Right click on the file, and click the option that says `Open In SceneBuilder`. 
+	- This is the file that holds all of the code for the look of your application. Now that you've opened it up directly, whenever you make changes within the SceneBuilders, those changes will also be reflected with `home.fxml` whenever you click save.
 
 ## Building your first application
 
@@ -67,14 +69,15 @@ Now that we have three buttons for input and a label with starter text in it, le
 2. Open up the `Inspector` for the middle `Label`.
 3. Open up the `Code` panel, and under `Identity`, set the `fx:id` to `middle`, or whatever else you might want to name it.
 4. We are also going to have to write some code to change the text. The code that controls everything happening on the GUI should all go into the automatically-created `Controller.java` class.
-5. Paste the following stub in your `Controller.java`; we will talk about the different parts of it in a moment.
+	- But let's rename that to `HomeController.java.`
+6. Paste the following stub in your `HomeController.java`; we will talk about the different parts of it in a moment.
 ```
-1   package sample;  
+1   package app;  
 2  
 3   import javafx.fxml.FXML;  
 4   import javafx.scene.control.Label;  
 5 
-6   public class Controller {    
+6   public class HomeController {    
 7      @FXML  
 8      private Label middle;  
 9  
@@ -99,6 +102,42 @@ On line 8 we are declaring a `Label` object entitled `middle`, and it is annotat
 8. In the `Main` subgroup, under `On Action`, type in the name of the function you wish to be called when the button is clicked - in this case, it's just `clickLeftButton`. 
 9. Do the same for the other two buttons and their respective functions.
 10. In order to actually test out your new program, you are going to have to link the GUI to the controller - so on the bottom-left portion of your page, open up the `Controller` panel.
-11. In `Controller Class`, type in `sample.Controller` - that's the package name followed by the name of the Controller class.
+11. In `Controller Class`, type in `app.HomeController` - that's the package name followed by the name of the Controller class.
 12. Now that everything is linked together, you can run the program out of `Main` and see that the label text changes on each button press, exactly as intended.
-	- You may want to change the resolution of the scene within `Main`, as it is probably a bit too small currently. 
\ No newline at end of file
+	- You may want to change the resolution of the scene within `Main`, as it is probably a bit too small currently. 
+
+### Switching Between Screens (Scenes)
+
+Everything you did just previously was all within the same screen. In many cases, applications are made up of different screens that display different information and have different functionality. As of right now, we have exactly one controller for one view. In order to create an application with multiple screens, or scenes as they are referred to by JavaFX, we are going to need to create new views and new controllers to represent these.
+
+1. Create two new files: `secondScreen.fxml` and `SecondScreenController.java`.
+2. Open up `secondScreen.fxml` in the SceneBuilder, and replace the `AnchorPane` with a `SplitPane`.
+	- The `SplitPane` will start off holding two `AnchorPanes` within them - these elements are essentially open containers that allow you to move elements around with ease, anchoring them to their positions.
+3. Put a `Label`	in the top pane and a `Button` in the bottom.
+4. With `AnchorPanes`, one really useful thing you can do is fit elements to the size of the parent, the `AnchorPane` being the parent. Right click both of the elements you just placed and fit them to their parents.
+
+Now to link these two screens together...
+
+5. Go back to your `HomeController` and paste the following snippet in: we'll walk through it again in a second.
+
+```
+public void switchScreen(javafx.event.ActionEvent event) throws IOException {  
+    Parent parent = FXMLLoader.load(getClass().getResource("secondScreen.fxml"));  
+    Scene scene = new Scene(parent);  
+  
+    Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();  
+  
+    window.setScene(scene);  
+    window.show();  
+}
+```
+
+- First, the function finds the resource that you are trying to link to: in this case, it is `secondScreen.fxml`.
+- Rather than handle the contents of the function within a `try...catch`, we just tell the function to throw an exception in the case it cannot find the file you are trying to link to, because there is not anything to even do if the window can't be opened properly.
+- It creates a scene using that file, and then we do a lot of casting in order to create a window out of the file to pass a scene into. Then we show the new screen.
+6. IntelIiJ is smart enough to see that you've just now tried to use a lot of different things without importing them first. Import all the new classes you just used.
+7. Change out the `Reset` button for a `Switch Screens` button, and point its action to this new `switchScreen` function.
+8. Run the application and verify that you can switch screens by pressing the button.
+9. Now, copy and paste the same function into the new `SecondScreenController`, changing out `secondScreen.fxml` for `home.fxml`.
+10. Link `secondScreen.fxml` to the `SecondScreenController` as we did previously in Step 11 of "Registering Event Handlers."
+11. You should be able to move back and forth between the two scenes now! 
\ No newline at end of file
-- 
GitLab