Browse Source

Add AddMovie window

Veloe 4 years ago
parent
commit
200adb7011

+ 14 - 0
src/com/moviesdb/ActorRoleSegment.fxml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.Pane?>
+
+<AnchorPane maxHeight="35.0" minHeight="35.0" minWidth="304.0" prefHeight="35.0" prefWidth="304.0" style="-fx-background-color: #212121;" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.moviesdb.ActorRoleSegment">
+   <children>
+      <TextField id="actorName" layoutY="2.0" maxWidth="150.0" minWidth="150.0" style="-fx-opacity: 1; -fx-background-color: transparent; -fx-text-fill: #9f9f9f;" AnchorPane.topAnchor="0.0" />
+      <TextField id="actorRole" layoutX="149.0" maxWidth="150.0" minWidth="150.0" style="-fx-opacity: 1; -fx-background-color: transparent; -fx-text-fill: #9f9f9f;" AnchorPane.leftAnchor="154.0" />
+      <Pane layoutY="35.0" prefHeight="3.0" prefWidth="150.0" style="-fx-background-color: #9f9f9f;" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="25.0" />
+      <Pane layoutX="156.0" layoutY="25.0" prefHeight="3.0" prefWidth="150.0" style="-fx-background-color: #9f9f9f;" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="25.0" />
+   </children>
+</AnchorPane>

+ 19 - 0
src/com/moviesdb/ActorRoleSegment.java

@@ -0,0 +1,19 @@
+package com.moviesdb;
+
+import javafx.fxml.FXML;
+import javafx.scene.control.TextField;
+
+public class ActorRoleSegment {
+    @FXML
+    TextField actorName;
+    @FXML
+    TextField actorRole;
+
+    public String name(){
+        return actorName.getText();
+    }
+
+    public String role(){
+        return actorRole.getText(); 
+    }
+}

+ 90 - 0
src/com/moviesdb/AddMovieController.java

@@ -0,0 +1,90 @@
+package com.moviesdb;
+
+import javafx.fxml.FXML;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.control.Button;
+import javafx.scene.control.TextArea;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.AnchorPane;
+import javafx.scene.layout.FlowPane;
+import javafx.scene.text.Text;
+import javafx.scene.text.TextFlow;
+import javafx.stage.Modality;
+
+import java.io.IOException;
+
+//For reading properties from .properties file
+
+public class AddMovieController extends Controller {
+
+    @FXML
+    Button addActorButton;
+
+    @FXML
+    FlowPane actorsGrid;
+
+    @FXML
+            TextField urlTextBox;
+    @FXML
+            TextField nameTextBox;
+    @FXML
+            TextField genreTextBox;
+    @FXML
+    TextArea descriptionTextBox;
+
+    Object caller;
+
+    public void open(Object caller) {
+        prepare();
+        stage.initModality(Modality.WINDOW_MODAL);
+        stage.initOwner(((BrowserController)caller).stage.getScene().getWindow());
+        this.caller = caller;
+        stage.setTitle("Log in");
+        stage.show();
+        descriptionTextBox.setWrapText(true);
+    }
+
+    public void addActor(){
+        try {
+            AnchorPane row = FXMLLoader.load(getClass().getResource("ActorRoleSegment.fxml"));
+            actorsGrid.getChildren().add(row);
+        }
+        catch (IOException ex)
+        {
+
+        }
+        //System.out.println("LoginForm closed");
+    }
+
+    public void addMovie(){
+        //read all textboxes
+        Movie NewMovie = new Movie();
+        NewMovie.movie_ImageLink = urlTextBox.getText();
+        NewMovie.movie_Name = nameTextBox.getText();
+        NewMovie.movie_Genre = genreTextBox.getText();
+        NewMovie.movie_Description = descriptionTextBox.getText();
+
+        try{
+            //AnchorPane row = (AnchorPane) actorsGrid.getChildren().get(1);
+            for (Node row : actorsGrid.getChildren()) {
+                System.out.println("Id: " + row.getId());
+                if (row instanceof AnchorPane) {
+                    // clear
+                    for (Node node : ((AnchorPane)row).getChildren()) {
+                        System.out.println("Id: " + node.getId());
+                        if (node instanceof TextField) {
+                            // clear
+                            ((TextField)node).setText("I have access");
+                        }
+                    }
+                }
+            }
+        }
+        catch (Exception ex)
+        {
+
+        }
+        ((BrowserController)caller).my_connector.addMovie(NewMovie);
+    }
+}

+ 18 - 1
src/com/moviesdb/BrowserController.java

@@ -31,7 +31,7 @@ public class BrowserController extends Controller {
     @FXML
     AnchorPane browserPane;
     @FXML
-    MenuItem menuNew;
+    MenuItem addMenu;
     @FXML
     FlowPane moviesGrid;
     @FXML
@@ -342,6 +342,23 @@ public class BrowserController extends Controller {
             e.printStackTrace();
         }
 
+    }
+    AddMovieController addWindow;
+    public void openAddForm() {
+
+        try {
+            FXMLLoader loader = new FXMLLoader(getClass().getResource("add.fxml"));
+            Parent root = loader.load();
+            addWindow = loader.getController();
+            addWindow.stage = new Stage();
+            addWindow.stage.setScene(new Scene(root, 377, 635));
+            addWindow.stage.setUserData(loader);
+            addWindow.open(this);
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
     }
 
     public Boolean newArgLogin(String user, String pass){

+ 1 - 1
src/com/moviesdb/DataBaseConnector.java

@@ -209,7 +209,7 @@ public class DataBaseConnector {
             //сборка текста запроса
             req = "INSERT INTO Movies (" + intoPart + ") ";
             req += "values (" + valPart + ");";
-
+            System.out.println(req);
             //выполнение запроса
             statement.execute(req);
         } catch (SQLException ex) {

+ 31 - 0
src/com/moviesdb/add.fxml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.ScrollPane?>
+<?import javafx.scene.control.TextArea?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.FlowPane?>
+
+<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="635.0" prefWidth="377.0" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.moviesdb.AddMovieController">
+   <children>
+      <Label layoutX="14.0" layoutY="14.0" text="Add movie master" />
+      <TextField fx:id="urlTextBox" layoutX="63.0" layoutY="40.0" prefHeight="25.0" prefWidth="305.0" />
+      <Label layoutX="14.0" layoutY="44.0" text="Label" />
+      <TextField fx:id="nameTextBox" layoutX="63.0" layoutY="72.0" />
+      <Label layoutX="14.0" layoutY="76.0" text="Label" />
+      <TextField fx:id="genreTextBox" layoutX="63.0" layoutY="105.0" />
+      <Label layoutX="14.0" layoutY="109.0" text="Label" />
+      <Label layoutX="14.0" layoutY="141.0" text="Label" />
+      <TextArea fx:id="descriptionTextBox" layoutX="11.0" layoutY="394.0" prefHeight="200.0" prefWidth="356.0" />
+      <ScrollPane layoutX="11.0" layoutY="169.0" prefHeight="200.0" prefWidth="356.0">
+         <content>
+            <FlowPane fx:id="actorsGrid" prefHeight="200.0" prefWidth="339.0" />
+         </content>
+      </ScrollPane>
+      <Label layoutX="13.0" layoutY="377.0" text="Description" />
+      <Button layoutX="329.0" layoutY="599.0" mnemonicParsing="false" onMouseClicked="#addMovie" text="Add" />
+      <Button fx:id="addActorButton" layoutX="340.0" layoutY="137.0" mnemonicParsing="false" onMouseClicked="#addActor" text="+" />
+   </children>
+</AnchorPane>

+ 4 - 4
src/com/moviesdb/test2.fxml

@@ -63,7 +63,7 @@
                 </Menu>
                 <Menu mnemonicParsing="false" text="Edit">
                   <items>
-                    <MenuItem mnemonicParsing="false" text="Delete" />
+                    <MenuItem fx:id="addMenu" mnemonicParsing="false" onAction="#openAddForm" text="Add" />
                   </items>
                 </Menu>
                 <Menu mnemonicParsing="false" text="Help">
@@ -73,9 +73,9 @@
                 </Menu>
               </menus>
             </MenuBar>
-            <Label fx:id="closeButton" onMouseClicked="#closeStage" layoutX="876.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="4.0" />
-            <Label fx:id="maximizeButton" onMouseClicked="#maximizeStageChange" layoutX="854.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="30.0" AnchorPane.topAnchor="4.0" />
-            <Label fx:id="minimizeButton" onMouseClicked="#minimizeStage" layoutX="832.0" layoutY="4.0" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="52.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="closeButton" layoutX="876.0" layoutY="4.0" onMouseClicked="#closeStage" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="maximizeButton" layoutX="854.0" layoutY="4.0" onMouseClicked="#maximizeStageChange" prefHeight="16.0" prefWidth="16.0" AnchorPane.rightAnchor="30.0" AnchorPane.topAnchor="4.0" />
+            <Label fx:id="minimizeButton" layoutX="832.0" layoutY="4.0" onMouseClicked="#minimizeStage" 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">