Browse Source

Deleted window border, added moving window by dragging mouse on menubar

Veloe 4 years ago
parent
commit
f1e32c10a9

BIN
out/production/JavaFxApplication/com/moviesdb/Controller.class


BIN
out/production/JavaFxApplication/com/moviesdb/Main.class


BIN
out/production/JavaFxApplication/com/moviesdb/Movie.class


+ 31 - 50
out/production/JavaFxApplication/com/moviesdb/test2.fxml

@@ -39,7 +39,6 @@
 <?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.control.TextField?>
 <?import javafx.scene.layout.AnchorPane?>
@@ -53,47 +52,32 @@
 
 <VBox prefHeight="600.0" prefWidth="900.0" style="-fx-background-color: #121212;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.moviesdb.Controller">
   <children>
-    <MenuBar minWidth="1000.0" style="-fx-background-color: #121212;" VBox.vgrow="NEVER">
-      <menus>
-        <Menu mnemonicParsing="false" text="File">
-          <items>
-            <MenuItem fx:id="menuNew" mnemonicParsing="false" onAction="#loadPosters" 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>
+      <AnchorPane prefHeight="25.0" prefWidth="900.0">
+         <children>
+            <MenuBar fx:id="menuPane" prefHeight="25.0" prefWidth="827.0" style="-fx-background-color: #121212; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="73.0">
+              <menus>
+                <Menu mnemonicParsing="false" text="File">
+                  <items>
+                    <MenuItem mnemonicParsing="false" text="Close" />
+                  </items>
+                </Menu>
+                <Menu mnemonicParsing="false" text="Edit">
+                  <items>
+                    <MenuItem mnemonicParsing="false" text="Delete" />
+                  </items>
+                </Menu>
+                <Menu mnemonicParsing="false" text="Help">
+                  <items>
+                    <MenuItem mnemonicParsing="false" text="About" />
+                  </items>
+                </Menu>
+              </menus>
+            </MenuBar>
+            <Label fx:id="closeButton" layoutX="876.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="maximizeButton" layoutX="854.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="30.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="minimizeButton" layoutX="832.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="52.0" AnchorPane.topAnchor="4.0" />
+         </children>
+      </AnchorPane>
     <SplitPane dividerPositions="0.3392857142857143, 0.9955357142857143" focusTraversable="true" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="-1.0" prefWidth="-1.0" style="-fx-background-color: #121212; -fx-border-color: #121212;" stylesheets="@style.css" VBox.vgrow="ALWAYS">
       <items>
         <AnchorPane fx:id="filterPane" maxWidth="0.0" minWidth="0.0" prefHeight="550.0" prefWidth="120.0" style="-fx-background-color: #212121;" SplitPane.resizableWithParent="false">
@@ -116,7 +100,7 @@
         </AnchorPane>
             <AnchorPane id="Content" fx:id="browserPane" minHeight="-1.0" minWidth="-1.0" prefHeight="551.0" prefWidth="566.0" style="-fx-background-color: #212121;">
                <children>
-                  <Label alignment="CENTER" layoutX="14.0" layoutY="14.0" prefWidth="80.0" style="&#10;" text="Browser" textAlignment="CENTER" wrapText="false" AnchorPane.topAnchor="47.0">
+                  <Label alignment="CENTER" layoutX="11.0" layoutY="14.0" prefWidth="80.0" style="&#10;" text="Browser" textAlignment="CENTER" wrapText="false" AnchorPane.topAnchor="14.0">
                      <font>
                         <Font size="18.0" fx:id="x11" />
                      </font>
@@ -124,7 +108,7 @@
                         <Color red="0.624" green="0.624" blue="0.624" fx:id="x21" />
                      </textFill>
                   </Label>
-                  <ScrollPane fx:id="scrollPane" fitToWidth="true" fitToHeight="true" hbarPolicy="NEVER" layoutX="14.0" layoutY="89.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="400.0" prefHeight="430.0" prefWidth="958.0" style="-fx-background-color: transparent; -fx-border-color: #212121;" vbarPolicy="NEVER" AnchorPane.bottomAnchor="31.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="71.0">
+                  <ScrollPane fx:id="scrollPane" fitToHeight="true" fitToWidth="true" hbarPolicy="NEVER" layoutX="14.0" layoutY="48.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="400.0" prefHeight="470.0" prefWidth="858.0" style="-fx-background-color: transparent; -fx-border-color: #212121;" vbarPolicy="NEVER" AnchorPane.bottomAnchor="31.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="48.0">
                      <styleClass>
                         <String fx:value="split-pane" />
                         <String fx:value="split-pane-divider" />
@@ -132,7 +116,7 @@
                      <content>
                          <AnchorPane AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
                            <children>
-                              <FlowPane fx:id="moviesGrid" prefHeight="448.0" prefWidth="954.0" style="-fx-background-color: #212121;" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
+                              <FlowPane fx:id="moviesGrid" layoutY="-26.0" prefHeight="469.0" prefWidth="854.0" style="-fx-background-color: #212121;" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
                            </children>
                          </AnchorPane>
                      </content>
@@ -145,11 +129,8 @@
                         <Color red="0.624" green="0.624" blue="0.624" fx:id="x211" />
                      </textFill>
                   </Label>
-                  <TextField layoutX="515.0" layoutY="14.0" prefHeight="27.0" prefWidth="302.0" style="-fx-background-color: #212121; -fx-border-color: #121212; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="515.0" AnchorPane.rightAnchor="63.0" AnchorPane.topAnchor="37.0" />
-                  <Label layoutX="827.0" layoutY="19.0" text="Button" textFill="#9f9f9f" AnchorPane.rightAnchor="17.0" AnchorPane.topAnchor="42.0" />
-                  <Label fx:id="closeButton" layoutX="944.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0" />
-                  <Label fx:id="maximizeButton" layoutX="924.0" layoutY="14.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="34.0" AnchorPane.topAnchor="14.0" />
-                  <Label fx:id="minimizeButton" layoutX="934.0" layoutY="24.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="54.0" AnchorPane.topAnchor="14.0" />
+                  <TextField layoutX="514.0" layoutY="14.0" prefHeight="27.0" prefWidth="302.0" style="-fx-background-color: #212121; -fx-border-color: #121212; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="514.0" AnchorPane.rightAnchor="64.0" AnchorPane.topAnchor="14.0" />
+                  <Label layoutX="822.0" layoutY="19.0" text="Button" textFill="#9f9f9f" AnchorPane.rightAnchor="22.0" AnchorPane.topAnchor="19.0" />
                </children>
             </AnchorPane>
         <AnchorPane fx:id="detailsPane" maxWidth="0.0" minWidth="0.0" prefWidth="0.0" style="-fx-background-color: #212121;" SplitPane.resizableWithParent="false">

+ 22 - 1
src/com/moviesdb/Controller.java

@@ -1,6 +1,7 @@
 package com.moviesdb;
 
 import com.sun.javafx.collections.MappingChange;
+import javafx.event.EventHandler;
 import javafx.fxml.FXML;
 import javafx.geometry.HPos;
 import javafx.geometry.Pos;
@@ -8,6 +9,7 @@ import javafx.geometry.VPos;
 import javafx.scene.control.*;
 import javafx.scene.image.Image;
 import javafx.scene.image.ImageView;
+import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.AnchorPane;
 import javafx.scene.layout.FlowPane;
 import javafx.scene.layout.GridPane;
@@ -20,7 +22,6 @@ import javafx.scene.text.TextFlow;
 import com.moviesdb.DataBaseConnector;
 import javafx.stage.Stage;
 
-import java.awt.event.MouseEvent;
 import java.time.chrono.AbstractChronology;
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -51,6 +52,8 @@ public class Controller {
     Label maximizeButton;
     @FXML
     Label closeButton;
+    @FXML
+            MenuBar menuPane;
 
     Map<Label, Movie> map;
     Label[] labelsMovies;
@@ -58,6 +61,8 @@ public class Controller {
     Movie my_movie;
     DataBaseConnector my_connector;
 
+    double xOffset;
+    double yOffset;
 
     public void initialize(Stage primaryStage){
         my_connector = new DataBaseConnector();
@@ -90,6 +95,22 @@ public class Controller {
         closeButton.setOnMouseClicked(e-> {
             primaryStage.close();
         });
+
+        menuPane.setOnMousePressed(new EventHandler<javafx.scene.input.MouseEvent>() {
+            @Override
+            public void handle(MouseEvent event) {
+                xOffset = primaryStage.getX() - event.getScreenX();
+                yOffset = primaryStage.getY() - event.getScreenY();
+            }
+        });
+
+        menuPane.setOnMouseDragged(new EventHandler<MouseEvent>() {
+            @Override
+            public void handle(MouseEvent event) {
+                primaryStage.setX(event.getScreenX() + xOffset);
+                primaryStage.setY(event.getScreenY() + yOffset);
+            }
+        });
     }
 
     public void loadPosters()

+ 5 - 0
src/com/moviesdb/Main.java

@@ -7,10 +7,13 @@ import javafx.event.EventHandler;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Parent;
 import javafx.scene.Scene;
+import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.GridPane;
 import javafx.stage.Stage;
+import javafx.stage.StageStyle;
 import javafx.stage.WindowEvent;
 
+
 public class Main extends Application {
 
     @Override
@@ -18,6 +21,8 @@ public class Main extends Application {
         FXMLLoader loader = new FXMLLoader();
         loader.setLocation(getClass().getResource("test2.fxml"));
         Parent root = loader.load();
+        primaryStage.initStyle(StageStyle.UNDECORATED);
+
         primaryStage.setTitle("Hello World");
         primaryStage.setScene(new Scene(root, 1280, 720));
         Controller controller = loader.getController();

+ 31 - 50
src/com/moviesdb/test2.fxml

@@ -39,7 +39,6 @@
 <?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.control.TextField?>
 <?import javafx.scene.layout.AnchorPane?>
@@ -53,47 +52,32 @@
 
 <VBox prefHeight="600.0" prefWidth="900.0" style="-fx-background-color: #121212;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.moviesdb.Controller">
   <children>
-    <MenuBar minWidth="1000.0" style="-fx-background-color: #121212;" VBox.vgrow="NEVER">
-      <menus>
-        <Menu mnemonicParsing="false" text="File">
-          <items>
-            <MenuItem fx:id="menuNew" mnemonicParsing="false" onAction="#loadPosters" 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>
+      <AnchorPane prefHeight="25.0" prefWidth="900.0">
+         <children>
+            <MenuBar fx:id="menuPane" prefHeight="25.0" prefWidth="827.0" style="-fx-background-color: #121212; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="73.0">
+              <menus>
+                <Menu mnemonicParsing="false" text="File">
+                  <items>
+                    <MenuItem mnemonicParsing="false" text="Close" />
+                  </items>
+                </Menu>
+                <Menu mnemonicParsing="false" text="Edit">
+                  <items>
+                    <MenuItem mnemonicParsing="false" text="Delete" />
+                  </items>
+                </Menu>
+                <Menu mnemonicParsing="false" text="Help">
+                  <items>
+                    <MenuItem mnemonicParsing="false" text="About" />
+                  </items>
+                </Menu>
+              </menus>
+            </MenuBar>
+            <Label fx:id="closeButton" layoutX="876.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="maximizeButton" layoutX="854.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="30.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="minimizeButton" layoutX="832.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="52.0" AnchorPane.topAnchor="4.0" />
+         </children>
+      </AnchorPane>
     <SplitPane dividerPositions="0.3392857142857143, 0.9955357142857143" focusTraversable="true" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="-1.0" prefWidth="-1.0" style="-fx-background-color: #121212; -fx-border-color: #121212;" stylesheets="@style.css" VBox.vgrow="ALWAYS">
       <items>
         <AnchorPane fx:id="filterPane" maxWidth="0.0" minWidth="0.0" prefHeight="550.0" prefWidth="120.0" style="-fx-background-color: #212121;" SplitPane.resizableWithParent="false">
@@ -116,7 +100,7 @@
         </AnchorPane>
             <AnchorPane id="Content" fx:id="browserPane" minHeight="-1.0" minWidth="-1.0" prefHeight="551.0" prefWidth="566.0" style="-fx-background-color: #212121;">
                <children>
-                  <Label alignment="CENTER" layoutX="14.0" layoutY="14.0" prefWidth="80.0" style="&#10;" text="Browser" textAlignment="CENTER" wrapText="false" AnchorPane.topAnchor="47.0">
+                  <Label alignment="CENTER" layoutX="11.0" layoutY="14.0" prefWidth="80.0" style="&#10;" text="Browser" textAlignment="CENTER" wrapText="false" AnchorPane.topAnchor="14.0">
                      <font>
                         <Font size="18.0" fx:id="x11" />
                      </font>
@@ -124,7 +108,7 @@
                         <Color red="0.624" green="0.624" blue="0.624" fx:id="x21" />
                      </textFill>
                   </Label>
-                  <ScrollPane fx:id="scrollPane" fitToWidth="true" fitToHeight="true" hbarPolicy="NEVER" layoutX="14.0" layoutY="89.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="400.0" prefHeight="430.0" prefWidth="958.0" style="-fx-background-color: transparent; -fx-border-color: #212121;" vbarPolicy="NEVER" AnchorPane.bottomAnchor="31.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="71.0">
+                  <ScrollPane fx:id="scrollPane" fitToHeight="true" fitToWidth="true" hbarPolicy="NEVER" layoutX="14.0" layoutY="48.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="400.0" prefHeight="470.0" prefWidth="858.0" style="-fx-background-color: transparent; -fx-border-color: #212121;" vbarPolicy="NEVER" AnchorPane.bottomAnchor="31.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="48.0">
                      <styleClass>
                         <String fx:value="split-pane" />
                         <String fx:value="split-pane-divider" />
@@ -132,7 +116,7 @@
                      <content>
                          <AnchorPane AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
                            <children>
-                              <FlowPane fx:id="moviesGrid" prefHeight="448.0" prefWidth="954.0" style="-fx-background-color: #212121;" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
+                              <FlowPane fx:id="moviesGrid" layoutY="-26.0" prefHeight="469.0" prefWidth="854.0" style="-fx-background-color: #212121;" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
                            </children>
                          </AnchorPane>
                      </content>
@@ -145,11 +129,8 @@
                         <Color red="0.624" green="0.624" blue="0.624" fx:id="x211" />
                      </textFill>
                   </Label>
-                  <TextField layoutX="515.0" layoutY="14.0" prefHeight="27.0" prefWidth="302.0" style="-fx-background-color: #212121; -fx-border-color: #121212; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="515.0" AnchorPane.rightAnchor="63.0" AnchorPane.topAnchor="37.0" />
-                  <Label layoutX="827.0" layoutY="19.0" text="Button" textFill="#9f9f9f" AnchorPane.rightAnchor="17.0" AnchorPane.topAnchor="42.0" />
-                  <Label fx:id="closeButton" layoutX="944.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0" />
-                  <Label fx:id="maximizeButton" layoutX="924.0" layoutY="14.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="34.0" AnchorPane.topAnchor="14.0" />
-                  <Label fx:id="minimizeButton" layoutX="934.0" layoutY="24.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="54.0" AnchorPane.topAnchor="14.0" />
+                  <TextField layoutX="514.0" layoutY="14.0" prefHeight="27.0" prefWidth="302.0" style="-fx-background-color: #212121; -fx-border-color: #121212; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="514.0" AnchorPane.rightAnchor="64.0" AnchorPane.topAnchor="14.0" />
+                  <Label layoutX="822.0" layoutY="19.0" text="Button" textFill="#9f9f9f" AnchorPane.rightAnchor="22.0" AnchorPane.topAnchor="19.0" />
                </children>
             </AnchorPane>
         <AnchorPane fx:id="detailsPane" maxWidth="0.0" minWidth="0.0" prefWidth="0.0" style="-fx-background-color: #212121;" SplitPane.resizableWithParent="false">