Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.67 KB | None | 0 0
  1. /* FrontendView Class by @Aebian */
  2. package org.aebian.umFrontend.view;
  3.  
  4. import javafx.application.Application;
  5. import javafx.event.EventHandler;
  6. import javafx.fxml.FXML;
  7. import javafx.fxml.FXMLLoader;
  8. import javafx.geometry.Pos;
  9. import javafx.scene.Scene;
  10. import javafx.scene.control.Button;
  11. import javafx.scene.control.MenuBar;
  12. import javafx.scene.image.Image;
  13. import javafx.scene.input.MouseEvent;
  14. import javafx.scene.layout.BorderPane;
  15. import javafx.scene.layout.GridPane;
  16. import javafx.scene.layout.VBox;
  17. import javafx.stage.Stage;
  18. import javafx.stage.StageStyle;
  19.  
  20. import java.io.IOException;
  21.  
  22.  
  23. public class FrontendView extends Application {
  24.  
  25. @FXML
  26. protected static Button btnLogin, btnSave, btnDiscard, btnRefresh, btnEdit;
  27. @FXML
  28. Scene sceneSettings;
  29. @FXML
  30. private Stage primaryStage;
  31. @FXML
  32. private Scene scene;
  33. @FXML
  34. private VBox vDefault;
  35. @FXML
  36. private BorderPane rootLayout;
  37. private double xOffset = 0;
  38. private double yOffset = 0;
  39. @FXML
  40. MenuBar rootMBar;
  41.  
  42. @Override
  43. public void start(Stage primaryStage) {
  44.  
  45. GridPane root = new GridPane();
  46. primaryStage.setMinWidth(800);
  47. primaryStage.initStyle(StageStyle.UNDECORATED);
  48.  
  49. primaryStage.setMinHeight(500);
  50. primaryStage.setResizable(false);
  51. primaryStage.getIcons().add(new Image("file:res/images/uMgmt.png"));
  52.  
  53. primaryStage.setTitle("User Management");
  54. Scene scene = new Scene(root, 800, 500);
  55. primaryStage.toFront();
  56.  
  57. primaryStage.setScene(scene);
  58. this.primaryStage = primaryStage;
  59. root.setAlignment(Pos.CENTER);
  60.  
  61. showRoot();
  62. showLogin();
  63. }
  64.  
  65. public void showRoot() { // Load root layout
  66. try {
  67. FXMLLoader loader = new FXMLLoader();
  68. loader.setLocation(FrontendView.class.getResource("UI/umFrontendRoot.fxml"));
  69. rootLayout = loader.load();
  70. rootLayout.setId("umFrontend");
  71.  
  72. //Let the root Layout be able to moved around.
  73. rootLayout.setOnMousePressed(new EventHandler<MouseEvent>() {
  74. @Override
  75. public void handle(MouseEvent event) {
  76. xOffset = event.getSceneX();
  77. yOffset = event.getSceneY();
  78. }
  79. });
  80. rootLayout.setOnMouseDragged(new EventHandler<MouseEvent>() {
  81. @Override
  82. public void handle(MouseEvent event) {
  83. primaryStage.setX(event.getScreenX() - xOffset);
  84. primaryStage.setY(event.getScreenY() - yOffset);
  85. }
  86. });
  87.  
  88. // Show the scene containing the root layout.
  89. Scene scene = new Scene(rootLayout);
  90. primaryStage.setScene(scene);
  91. String css = FrontendView.class.getResource("UI/umFrontendStyles.css").toExternalForm();
  92. scene.getStylesheets().clear();
  93. scene.getStylesheets().add(css);
  94.  
  95.  
  96. primaryStage.show();
  97.  
  98. } catch (IOException e) {
  99. e.printStackTrace();
  100. }
  101. }
  102.  
  103. public void showLogin() { // Load the login page.
  104. try {
  105. FXMLLoader loader = new FXMLLoader();
  106. loader.setLocation(FrontendView.class.getResource("UI/umFrontendLogin.fxml"));
  107. vDefault = loader.load();
  108. // Set login to center of root layout.
  109. rootLayout.setCenter(vDefault);
  110. } catch (IOException e) {
  111. e.printStackTrace();
  112. }
  113. }
  114.  
  115. public void showAbout() { // Load the about page.
  116. try {
  117. FXMLLoader loader = new FXMLLoader();
  118. loader.setLocation(FrontendView.class.getResource("UI/umFrontendAbout.fxml"));
  119. vDefault = loader.load();
  120.  
  121. // Set about page to center of root layout.
  122. rootLayout.setCenter(vDefault);
  123. } catch (IOException e) {
  124. e.printStackTrace();
  125. }
  126. }
  127.  
  128. public void showAdminOverview() { // Load the admin overview page.
  129. try {
  130. FXMLLoader loader = new FXMLLoader();
  131. loader.setLocation(FrontendView.class.getResource("UI/umFrontendAdminOverview.fxml"));
  132. VBox showAdminOverview = loader.load();
  133. // Set admin overview page to center of root layout.
  134. rootLayout.setCenter(showAdminOverview);
  135. } catch (IOException e) {
  136. e.printStackTrace();
  137. }
  138. }
  139.  
  140. /**
  141. * Returns the root borderPane.
  142. *
  143. * @return
  144. */
  145. public BorderPane getBorderPane() {
  146. return rootLayout;
  147. }
  148.  
  149.  
  150. }
  151.  
  152. package org.aebian.umFrontend.view;
  153.  
  154. import javafx.event.ActionEvent;
  155. import javafx.event.EventHandler;
  156. import javafx.fxml.FXML;
  157. import javafx.scene.Parent;
  158. import javafx.scene.Scene;
  159. import javafx.scene.control.Button;
  160. import javafx.scene.control.ButtonType;
  161. import javafx.scene.control.MenuItem;
  162. import javafx.scene.control.Alert;
  163. import javafx.scene.input.MouseEvent;
  164. import javafx.scene.layout.Border;
  165. import javafx.scene.layout.BorderPane;
  166. import javafx.scene.layout.Pane;
  167. import javafx.stage.Stage;
  168.  
  169. import java.io.IOException;
  170. import java.net.URL;
  171. import java.util.Optional;
  172. import java.util.ResourceBundle;
  173.  
  174. public class FrontendViewController {
  175.  
  176. FrontendView FView = new FrontendView();
  177. BorderPane bPane = FView.getBorderPane();
  178.  
  179. @FXML
  180. MenuItem appClose;
  181. @FXML
  182. MenuItem appAbout;
  183. @FXML
  184. Button buttonLogin;
  185. @FXML
  186. Parent root;
  187.  
  188. @FXML
  189. private void handleButtonAction(ActionEvent e) throws IOException {
  190.  
  191. if (e.getSource() == appClose) { // Exit application when user clicks on Edit > Close
  192. System.exit(0);
  193. } else if (e.getSource() == appAbout) { // Show About page when user clicks on Help > About
  194. FView.showAbout();
  195. }
  196. else if (e.getSource() == buttonLogin) { // Function that gets triggered when the user presses the Login Button
  197. //
  198. }
  199.  
  200. }
  201.  
  202.  
  203. public void delUserConfirmDialog() {
  204.  
  205. Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
  206. alert.setTitle("Delete User Dialog");
  207. alert.setHeaderText("Delete User $ss");
  208. alert.setContentText("Are you sure you want to delete the selected action?");
  209.  
  210. Optional<ButtonType> result = alert.showAndWait();
  211. if (result.get() == ButtonType.OK){
  212. FView.showAdminOverview();
  213. } else {
  214. // ... user chose CANCEL or closed the dialog
  215. }
  216.  
  217. }
  218. }
  219.  
  220. "C:Program FilesJavajdk1.8.0_121binjava" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:7988,suspend=y,server=n -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.8.0_121jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_121jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_121jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_121jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_121jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_121jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_121jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_121jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_121jrelibextnashorn.jar;C:Program FilesJavajdk1.8.0_121jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_121jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_121jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_121jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_121jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_121jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_121jrelibjce.jar;C:Program FilesJavajdk1.8.0_121jrelibjfr.jar;C:Program FilesJavajdk1.8.0_121jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_121jrelibjsse.jar;C:Program FilesJavajdk1.8.0_121jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_121jrelibplugin.jar;C:Program FilesJavajdk1.8.0_121jrelibresources.jar;C:Program FilesJavajdk1.8.0_121jrelibrt.jar;C:UsersagoebbelTempo BoxDevelopment & PSEclipse-WorkspacesuserManoutproductionuserMan;C:Program Files (x86)JetBrainsIntelliJ IDEA 2016.3.4libidea_rt.jar" org.aebian.umFrontend.Frontend
  221. Connected to the target VM, address: '127.0.0.1:7988', transport: 'socket'
  222. Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  223. at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
  224. at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
  225. at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
  226. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
  227. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
  228. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
  229. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  230. at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
  231. at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
  232. at javafx.event.Event.fireEvent(Event.java:198)
  233. at javafx.scene.control.MenuItem.fire(MenuItem.java:462)
  234. at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1405)
  235. at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.lambda$createChildren$343(ContextMenuContent.java:1358)
  236. at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
  237. at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
  238. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
  239. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
  240. at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
  241. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
  242. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  243. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  244. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  245. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  246. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  247. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  248. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  249. at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
  250. at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
  251. at javafx.event.Event.fireEvent(Event.java:198)
  252. at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
  253. at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
  254. at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
  255. at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
  256. at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
  257. at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
  258. at java.security.AccessController.doPrivileged(Native Method)
  259. at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)
  260. at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
  261. at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
  262. at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
  263. at com.sun.glass.ui.View.notifyMouse(View.java:937)
  264. at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
  265. at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
  266. at java.lang.Thread.run(Thread.java:745)
  267. Caused by: java.lang.reflect.InvocationTargetException
  268. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  269. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  270. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  271. at java.lang.reflect.Method.invoke(Method.java:498)
  272. at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
  273. at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
  274. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  275. at java.lang.reflect.Method.invoke(Method.java:498)
  276. at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
  277. at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
  278. ... 43 more
  279. Caused by: java.lang.NullPointerException
  280. at org.aebian.umFrontend.view.FrontendView.showAbout(FrontendView.java:122)
  281. at org.aebian.umFrontend.view.FrontendViewController.handleButtonAction(FrontendViewController.java:43)
  282. ... 53 more
  283.  
  284. <?xml version="1.0" encoding="UTF-8"?>
  285.  
  286. <?import javafx.scene.paint.*?>
  287. <?import javafx.scene.text.*?>
  288. <?import java.lang.*?>
  289. <?import javafx.scene.layout.*?>
  290. <?import javafx.scene.control.*?>
  291. <?import javafx.scene.layout.AnchorPane?>
  292. <?import javafx.scene.layout.VBox?>
  293. <?import javafx.scene.paint.Color?>
  294. <?import javafx.scene.text.Font?>
  295.  
  296. <VBox alignment="CENTER" prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.aebian.umFrontend.view.FrontendView">
  297. <children>
  298. <SplitPane focusTraversable="true" orientation="VERTICAL" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS">
  299. <items>
  300. <AnchorPane prefHeight="576.0" prefWidth="328.0">
  301. <children>
  302. <Label layoutX="272.0" layoutY="121.0" text="Java User Managment">
  303. <font>
  304. <Font size="24.0" />
  305. </font>
  306. </Label>
  307. <Label layoutX="228.0" layoutY="164.0" text="A java written user management solution with mysql support" />
  308. <Label layoutX="251.0" layoutY="181.0" text="© 2017 by Adrian (Simmarith) & Alexander (Aebian)" />
  309. <Label alignment="CENTER" layoutX="38.0" layoutY="14.0" minWidth="60.0" prefWidth="-1.0" style="&#10;" text="User Management About" textAlignment="CENTER" wrapText="false">
  310. <font>
  311. <Font size="18.0" fx:id="x1" />
  312. </font>
  313. <textFill>
  314. <Color blue="0.624" green="0.624" red="0.624" fx:id="x2" />
  315. </textFill>
  316. </Label>
  317. <Label layoutX="338.0" layoutY="220.0" text="aebian@aebian.org" />
  318. </children>
  319. </AnchorPane>
  320. </items>
  321. </SplitPane>
  322. </children>
  323. </VBox>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement