From 7b7839fc532f19799f6b28c6b4f82390dbb0295a Mon Sep 17 00:00:00 2001 From: emtunhei <emtunhei@stud.ntnu.no> Date: Fri, 18 Feb 2022 09:38:15 +0100 Subject: [PATCH] Created a test gui using scenebuilder. --- Bachelor_application.iml | 1 + src/main/java/com/application/Main.java | 23 ++-- src/main/resources/com.application/test.fxml | 128 +++++++++++++++++++ target/classes/com.application/test.fxml | 128 +++++++++++++++++++ target/classes/com/application/Main.class | Bin 2252 -> 1730 bytes 5 files changed, 267 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/com.application/test.fxml create mode 100644 target/classes/com.application/test.fxml diff --git a/Bachelor_application.iml b/Bachelor_application.iml index 57ba6a4..fcfaf11 100644 --- a/Bachelor_application.iml +++ b/Bachelor_application.iml @@ -5,6 +5,7 @@ <output-test url="file://$MODULE_DIR$/target/test-classes" /> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <excludeFolder url="file://$MODULE_DIR$/target" /> </content> <orderEntry type="inheritedJdk" /> diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java index aeeaadf..c1c7cec 100644 --- a/src/main/java/com/application/Main.java +++ b/src/main/java/com/application/Main.java @@ -1,10 +1,12 @@ package com.application; import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.Button; -import javafx.scene.layout.StackPane; import javafx.stage.Stage; +import java.util.Objects; public class Main extends Application { Button button; @@ -23,19 +25,14 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { - // Sett title in top left of the stage - primaryStage.setTitle("Moelven Drying Application"); + // Loading the GUI-fxml file from resources + Parent root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/com.application/test.fxml"))); - // Creates a button - button = new Button(); - button.setText("Click me"); - button.setOnAction(e->System.out.println("Button was clicked")); - - // Creates a stackpane, attaches the button to the - StackPane layout = new StackPane(); - layout.getChildren().add(button); - - Scene scene = new Scene(layout, 300, 250); + // Sets the scene and defines boundaries + Scene scene = new Scene(root, 1200, 600); + primaryStage.setMaximized(true); + primaryStage.setMinHeight(600); + primaryStage.setMinWidth(1200); primaryStage.setScene(scene); primaryStage.show(); } diff --git a/src/main/resources/com.application/test.fxml b/src/main/resources/com.application/test.fxml new file mode 100644 index 0000000..3b32926 --- /dev/null +++ b/src/main/resources/com.application/test.fxml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.control.Menu?> +<?import javafx.scene.control.MenuBar?> +<?import javafx.scene.control.MenuItem?> +<?import javafx.scene.control.ScrollPane?> +<?import javafx.scene.control.SeparatorMenuItem?> +<?import javafx.scene.control.SplitPane?> +<?import javafx.scene.layout.AnchorPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Pane?> +<?import javafx.scene.layout.VBox?> +<?import javafx.scene.paint.Color?> +<?import javafx.scene.text.Font?> + +<VBox prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"> + <children> + <MenuBar VBox.vgrow="NEVER"> + <menus> + <Menu mnemonicParsing="false" text="File"> + <items> + <MenuItem mnemonicParsing="false" text="New" /> + <MenuItem mnemonicParsing="false" text="Open…" /> + <Menu mnemonicParsing="false" text="Open Recent" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Close" /> + <MenuItem mnemonicParsing="false" text="Save" /> + <MenuItem mnemonicParsing="false" text="Save As…" /> + <MenuItem mnemonicParsing="false" text="Revert" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Preferences…" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Quit" /> + </items> + </Menu> + <Menu mnemonicParsing="false" text="Edit"> + <items> + <MenuItem mnemonicParsing="false" text="Undo" /> + <MenuItem mnemonicParsing="false" text="Redo" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Cut" /> + <MenuItem mnemonicParsing="false" text="Copy" /> + <MenuItem mnemonicParsing="false" text="Paste" /> + <MenuItem mnemonicParsing="false" text="Delete" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Select All" /> + <MenuItem mnemonicParsing="false" text="Unselect All" /> + </items> + </Menu> + <Menu mnemonicParsing="false" text="Help"> + <items> + <MenuItem mnemonicParsing="false" text="About MyHelloApp" /> + </items> + </Menu> + </menus> + </MenuBar> + <SplitPane focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0"> + <items> + <AnchorPane> + <children> + <Label alignment="CENTER" layoutX="14.0" layoutY="14.0" minWidth="60.0" prefWidth="-1.0" style=" " text="Master" textAlignment="CENTER" wrapText="false"> + <font> + <Font size="18.0" fx:id="x11" /> + </font> + <textFill> + <Color blue="0.624" green="0.624" red="0.624" fx:id="x21" /> + </textFill> + </Label> + <Button layoutX="238.0" layoutY="8.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + </items> + </SplitPane> + <SplitPane dividerPositions="0.2505567928730512, 0.7505567928730512" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS"> + <items> + <AnchorPane> + <children> + <Label alignment="CENTER" layoutX="14.0" layoutY="14.0" minWidth="60.0" prefWidth="-1.0" style=" " text="Master" textAlignment="CENTER" wrapText="false"> + <font> + <Font size="18.0" fx:id="x1" /> + </font> + <textFill> + <Color blue="0.624" green="0.624" red="0.624" fx:id="x2" /> + </textFill> + </Label> + <Button layoutX="95.0" layoutY="126.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + <ScrollPane prefHeight="-1.0" prefWidth="-1.0"> + <content> + <AnchorPane id="Content" minHeight="-1.0" minWidth="-1.0" prefHeight="545.0" prefWidth="430.0"> + <children> + <Label alignment="CENTER" font="$x1" layoutX="14.0" layoutY="14.0" style=" " text="View" textAlignment="CENTER" textFill="$x2" wrapText="false" /> + <Button layoutX="120.0" layoutY="182.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + </content> + </ScrollPane> + <AnchorPane> + <children> + <Label alignment="CENTER" font="$x1" layoutX="14.0" layoutY="14.0" style=" " text="Details" textAlignment="CENTER" textFill="$x2" wrapText="false" /> + <Button layoutX="26.0" layoutY="171.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + </items> + </SplitPane> + <HBox id="HBox" alignment="CENTER_LEFT" spacing="5.0" VBox.vgrow="NEVER"> + <children> + <Label maxHeight="1.7976931348623157E308" maxWidth="-1.0" text="Left status" HBox.hgrow="ALWAYS"> + <font> + <Font size="11.0" fx:id="x3" /> + </font> + <textFill> + <Color blue="0.625" green="0.625" red="0.625" fx:id="x4" /> + </textFill> + </Label> + <Pane prefHeight="-1.0" prefWidth="-1.0" HBox.hgrow="ALWAYS" /> + <Label font="$x3" maxWidth="-1.0" text="Right status" textFill="$x4" HBox.hgrow="NEVER" /> + </children> + <padding> + <Insets bottom="3.0" left="3.0" right="3.0" top="3.0" /> + </padding> + </HBox> + </children> +</VBox> diff --git a/target/classes/com.application/test.fxml b/target/classes/com.application/test.fxml new file mode 100644 index 0000000..3b32926 --- /dev/null +++ b/target/classes/com.application/test.fxml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.control.Menu?> +<?import javafx.scene.control.MenuBar?> +<?import javafx.scene.control.MenuItem?> +<?import javafx.scene.control.ScrollPane?> +<?import javafx.scene.control.SeparatorMenuItem?> +<?import javafx.scene.control.SplitPane?> +<?import javafx.scene.layout.AnchorPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Pane?> +<?import javafx.scene.layout.VBox?> +<?import javafx.scene.paint.Color?> +<?import javafx.scene.text.Font?> + +<VBox prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"> + <children> + <MenuBar VBox.vgrow="NEVER"> + <menus> + <Menu mnemonicParsing="false" text="File"> + <items> + <MenuItem mnemonicParsing="false" text="New" /> + <MenuItem mnemonicParsing="false" text="Open…" /> + <Menu mnemonicParsing="false" text="Open Recent" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Close" /> + <MenuItem mnemonicParsing="false" text="Save" /> + <MenuItem mnemonicParsing="false" text="Save As…" /> + <MenuItem mnemonicParsing="false" text="Revert" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Preferences…" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Quit" /> + </items> + </Menu> + <Menu mnemonicParsing="false" text="Edit"> + <items> + <MenuItem mnemonicParsing="false" text="Undo" /> + <MenuItem mnemonicParsing="false" text="Redo" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Cut" /> + <MenuItem mnemonicParsing="false" text="Copy" /> + <MenuItem mnemonicParsing="false" text="Paste" /> + <MenuItem mnemonicParsing="false" text="Delete" /> + <SeparatorMenuItem mnemonicParsing="false" /> + <MenuItem mnemonicParsing="false" text="Select All" /> + <MenuItem mnemonicParsing="false" text="Unselect All" /> + </items> + </Menu> + <Menu mnemonicParsing="false" text="Help"> + <items> + <MenuItem mnemonicParsing="false" text="About MyHelloApp" /> + </items> + </Menu> + </menus> + </MenuBar> + <SplitPane focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0"> + <items> + <AnchorPane> + <children> + <Label alignment="CENTER" layoutX="14.0" layoutY="14.0" minWidth="60.0" prefWidth="-1.0" style=" " text="Master" textAlignment="CENTER" wrapText="false"> + <font> + <Font size="18.0" fx:id="x11" /> + </font> + <textFill> + <Color blue="0.624" green="0.624" red="0.624" fx:id="x21" /> + </textFill> + </Label> + <Button layoutX="238.0" layoutY="8.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + </items> + </SplitPane> + <SplitPane dividerPositions="0.2505567928730512, 0.7505567928730512" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS"> + <items> + <AnchorPane> + <children> + <Label alignment="CENTER" layoutX="14.0" layoutY="14.0" minWidth="60.0" prefWidth="-1.0" style=" " text="Master" textAlignment="CENTER" wrapText="false"> + <font> + <Font size="18.0" fx:id="x1" /> + </font> + <textFill> + <Color blue="0.624" green="0.624" red="0.624" fx:id="x2" /> + </textFill> + </Label> + <Button layoutX="95.0" layoutY="126.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + <ScrollPane prefHeight="-1.0" prefWidth="-1.0"> + <content> + <AnchorPane id="Content" minHeight="-1.0" minWidth="-1.0" prefHeight="545.0" prefWidth="430.0"> + <children> + <Label alignment="CENTER" font="$x1" layoutX="14.0" layoutY="14.0" style=" " text="View" textAlignment="CENTER" textFill="$x2" wrapText="false" /> + <Button layoutX="120.0" layoutY="182.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + </content> + </ScrollPane> + <AnchorPane> + <children> + <Label alignment="CENTER" font="$x1" layoutX="14.0" layoutY="14.0" style=" " text="Details" textAlignment="CENTER" textFill="$x2" wrapText="false" /> + <Button layoutX="26.0" layoutY="171.0" mnemonicParsing="false" text="Button" /> + </children> + </AnchorPane> + </items> + </SplitPane> + <HBox id="HBox" alignment="CENTER_LEFT" spacing="5.0" VBox.vgrow="NEVER"> + <children> + <Label maxHeight="1.7976931348623157E308" maxWidth="-1.0" text="Left status" HBox.hgrow="ALWAYS"> + <font> + <Font size="11.0" fx:id="x3" /> + </font> + <textFill> + <Color blue="0.625" green="0.625" red="0.625" fx:id="x4" /> + </textFill> + </Label> + <Pane prefHeight="-1.0" prefWidth="-1.0" HBox.hgrow="ALWAYS" /> + <Label font="$x3" maxWidth="-1.0" text="Right status" textFill="$x4" HBox.hgrow="NEVER" /> + </children> + <padding> + <Insets bottom="3.0" left="3.0" right="3.0" top="3.0" /> + </padding> + </HBox> + </children> +</VBox> diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class index df1fc0cf8c2acaa89640bbfb70fa972a1c245e31..93001873b5b9c3703d766598c63974f8421b2f26 100644 GIT binary patch literal 1730 zcmX^0Z`VEs1_l#`TrLJF1~V=ONd|K+1`7sD4hAbO25SZzE(Ti$J9Y+pE(Qk%M|K7$ zE(T`?7ZBmf&fv!8FzEmT2(USHf+z+CE(RV3cP<7G22VDJCWst}=LI6XL4*&8@MUN4 zV`uPZWME4wEh)**V`Px^$x19sOsmi@PEO5B)lbgPD=Es)(RTt%TQf4S*<|Krme?^e zFl%UrF*2|?=clAHGVuFk=B4_T<|d^Ug(N2Bq%txH`Q#@j=7c2{WrFxnL6(w?%wk3c zF`wl8T>Zp?f}G6c#FEVXJbmB9%sgvG2A15!%sfU0F^y=jEA(>`^V0Q$ONuh{(yhU^ zB^IR@GcpKck!ECIEiOqcDq&<0*8pn<d7&gRJyky#M1r;R6clCVCKgqKMHm@Gu&HBY zU@6MaFJWX5h0B5iA|SCSHLt{)k%1{ag^@uLEUBMZUZU?_lvt3FnOy9WT9%odY7KG+ zNCUF*AijPuh_q&8;Bu`<PAvfWx|p3IfRTYKIKQ+gIn^x_6l$EHfY1ZQ01tyKgB%Y- zAcHD9Ll6%`Fhd9<gOq-9ey$#JxRs<9m*}Nc<mRw5gz_+iF@&=-MDQ>~GDI;l@PJIw z&r2=Q4-N8RXNcxuh+&9jWDo`kgTe;n9DRtd*csw@7~&Zcco-5Hk{B6;P?Uh(4RTE~ zJ3|T&Ln=cW4?{Xb1`k6fh{$5d=3&TTkYi*J!4{{C402GzkX`MFh<T`kATbRO8Ab-S zoW#<+<P1gz0g!%(w0}}oYH|r914nvliE~b3F(@TyXhLEFoKnDo){G4N2t8mSMh5Qm z)RLgoVsJ<^GAKb(2*gxa@`9KH4KHg(20^ePr6rj;`VfnY85#JBQVUBni&Fja^ZZJ4 zau^xZkWGRpvqp9iREUv53}jkbg+3^*^xYzSeSGp0Q&Ni<8CY`i6H^dQg4vJN5E+mm zD2dKBuPn1DKQA{muY{37Iz6=noa<mo5=B-47F5WI7D<IQBZF9aYKco~T4HHVNpNye zYHA)NO*1k`W77+fv}R<Gf&>CuqOx{z0cBZuVglttNM2-Q;3-Zm@lCAA%+0JyO<`nU z(TD;m1&e0pd8B5hXOw_M!3J=H)Mn;|XQq^7Ffwoyr<Q<IBuYL9r)97(IG?i=XXKYN zC^ASgNHH)lFfuSONHfSVFfcGPFoJRw10#bx0|SFT10z_DRcku~<3<Js1||jt1_lN; zuplpkA_D^h517r$pv0iez`(%Cpu(UE)ocvcyn}%Wp_z+;iGhJZkb#9k2*m(326eDY zG#E4)n83F0WngDuWnf_N*4oCvEX1;nfprH1+W`jl9Sj@?7&v`*FmP>S;P%_iz!Rw> z!oVxSz`vbA(27NyWgCN#wg`jpHU?2`5eD9E3}V`nEZZ2wwYM=yAe^Dbz{$YCAjcra zpuix@pv0idpv+*zpu%9upvvIDpvK_Fpw8gMU=Mbp3B(ytKQb_QGiWhrGcYoUF_<#w sFz7NcF~~CLG3YVqGcYsgGRQF)Fc>nhFc>i~Ft9K%GJwLt1RQpz08JmN4FCWD literal 2252 zcmX^0Z`VEs1_l#`1}+8}1}iQGX$ET!1{*F0TLwFJ274|BRt76h25ANd4hBaM$4Q8R zfx!dB@?>Z5;$q+d>EU7U=4S9=@MUN4V{<4vzyJbl4*3osnt_W!fWaSRUI2&)<YWk9 z2<Bi2;bI772xDgmXJ?3DWME4wEh)**V`Px^$x19sOsmi@PEO5B)lbgPD=Es)(RTt% zTQf4S*<|Krme?^eFl%UrF*2|?=clAHGVuFk=B4_T<|d^Ug(N2Bq%txH`Q#@j=7c2{ zWrFxnL6(w?%wk3cF`wl8T>Zp?f}G6c#FEVXJbmB9%sgvG2A15!%sfU0F^y=jEA(>` z^V0Q$ONuh{(yhU^B^IR@GcpKck!ECIEiOqcDq&<0*8pn<d7&gRJyky#M1r;R6clCV zCKgqKMHm@Gu&HBYV9QCY%r7lrWRQo;gM$Jh3^Fb`J0LMH)f!|aNCw#?5MMtSL|QX4 zaJg0_rxt)bSj^54$;iN$lbD;7lBfc9sEPq2gDl*ssb#5oCHjuZAjPgAHrT<8sf-L# zFjrtIVPxP6&Mz%WPIb!!1vw`u6!k#S$HO4cpuocr#h}i}Amy8%np2jVr{GdlnVFZa z;D`uzc7|vkh8TueMh0n+E>MVpT#gp$JPfi7a*PZd&N-RM*$TO-JPdIlEdoyY`6b0A zMTrHzsU;ctDaHJ34DkXC3H)pfi2@9!JPb(;$vg}x45^F^vM8pbha(R|8bdleLk15+ zCPNk@gAj^ha8QE0lg-1B!;s6vkjJ3F&XCW;P{2^g$RGqsmI~#G#R|zF=cT5wGZgVK z6oVWnf-R9TGRQ&AM^1i7VZz8D3{n6|dhqxIr;5_N<P0SDfsz#{HKeC9GH?{9mV{)M zfMP)u5~mOYkkT$YNJ(l%2^T{NLn(49g~Tf?(n0yZjFEvYBQY-pWSp#qCTaozEA#-% z7Fjbga2KbR_~$_q4kLpc#PYNXeI!$1ia|MuJ3Y0;IU_SCr6@IzkwFz<cyfMDPAWM0 z73=#a6{i-Jf%2_SW^su%BZDF+NYX0waVuhEU`|X)VPrt@y?;_xYI2FSW)vfX6x?Bu zawQ<KC^fId+QkLrC{XBuBN{naAnL%v;Jm<6oRMG7$RGf63N&yli%U{-85x+txm6S# zO!}Gm`T<3mc_qOmMX8Co*0AVA6=q~$F90dZ$zx|I=V7Q|sNrESVK8N6P(qlVnOByd zovQBx&a%F#C5dT?$tC$km5dDBxd<LRLmeXnn@@gzc4+}41CM83UTTqZPGWI!YB3|j z8HlGLu7#Qh$t;j4DOQ1Kw1zkxxwJzPLD3jeS&)jXoOnrymH72Sk{XJ8ofC6%f-_4} zt=Sps85vYD!UvmwpqUKC929j7iVV^WG7Jn1j0_B*(uIM6frWt)RA@0UGAJ@IFz7Qd zg5_AXwlgqpWME)mVo+jWU|<6aaxy40Ffj0d*{lpI45|za44e#V4C+wL#&FF$7?=>6 zxfqxj7#MgNSQz+F4A5ZE1iM6wL7RaIZ2Lh5b_Ny(28K{=A?9riELyu6SR=PHux({v z*V@9sF2u2offK~o#lXeDu#JIxHv>=Pb_QNwoox(!An~0H{7ektyBP!`bwn5hMHqy) zGl=?W>uzHZ)857)j&P6`NI!!#0~>=JgCK)EgA{`TgBpV}gC2tlgAIckgExaZLjZ#Y zLkNQ=*uh#5M?rnez!1uy!=TH+$e_od&Y;Jj&%ngs&A`QAz+lM0%wPl!Qey!wP|Ajf z3==riI5#m!2uW^ZkU}^H60{0niy%SE$zaA{&cMLH%wPeI0855y1_lN$21bTThFXRy U21y2IXf(JmFf+I^xG}f`05GycTL1t6 -- GitLab