From b1f7b33442eddc937e98eaeedbf4a19eb7778a4f Mon Sep 17 00:00:00 2001 From: Ivan Olexyn Date: Sat, 10 Aug 2019 01:05:00 +0200 Subject: [PATCH] UI Update. + add proper directory selection + add ui elements: - tabs - scroll bar - grids where required --- src/app/Controller.java | 32 +++++- src/app/Main.java | 8 +- src/app/layout.fxml | 243 ++++++++++++++++++++++------------------ 3 files changed, 166 insertions(+), 117 deletions(-) diff --git a/src/app/Controller.java b/src/app/Controller.java index 5df5cf0..47dedf3 100644 --- a/src/app/Controller.java +++ b/src/app/Controller.java @@ -2,10 +2,12 @@ package app; import javafx.concurrent.Task; import javafx.fxml.FXML; +import javafx.scene.Node; import javafx.scene.control.*; import javafx.scene.text.Text; +import java.awt.event.ActionEvent; import java.io.File; import java.nio.file.Files; import java.nio.file.Path; @@ -13,13 +15,14 @@ import java.nio.file.Paths; import java.util.Map; import app.Artifacts.MFile; +import javafx.stage.DirectoryChooser; +import javafx.stage.Window; /*** * Controller class for JavaFX. Contains the application logic. */ public class Controller { - Map doubles; @@ -45,7 +48,28 @@ public class Controller { protected Text doubleNr; @FXML - protected TextField dir; + protected TextField directoryField; + + + @FXML + protected void openDir(){ + Window stage = loadDirState.getScene().getWindow(); + + + final DirectoryChooser directoryChooser = new DirectoryChooser(); + directoryChooser.setTitle("Select Directory."); + directoryChooser.setInitialDirectory(new File(System.getProperty("user.home"))); + + TextArea textArea = new TextArea(); + textArea.setMinHeight(70); + + File dir = directoryChooser.showDialog(stage); + if (dir != null){ + directoryField.setText(dir.getAbsolutePath()); + }else{ + //textArea.setText(null); + } + } @FXML @@ -64,14 +88,14 @@ public class Controller { doubleNr.setText("Number of Duplicates:"); - Path path = Paths.get(dir.getText()); + Path path = Paths.get(directoryField.getText()); if (!Files.isDirectory(path)) { loadDirState.setText("ERROR."); } else { - Map pool = new Routines().loadPool(dir.getText(), "file"); + Map pool = new Routines().loadPool(directoryField.getText(), "file"); new Write().textPool("pool", pool); loadDirState.setText("OK."); fileNr.setText("Number of Files: " + pool.size()); diff --git a/src/app/Main.java b/src/app/Main.java index 82555eb..74f04c7 100644 --- a/src/app/Main.java +++ b/src/app/Main.java @@ -4,16 +4,22 @@ import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.stage.DirectoryChooser; import javafx.stage.Stage; +import java.io.File; + public class Main extends Application { + + @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("layout.fxml")); - Scene scene = new Scene(root, 300, 500); + Scene scene = new Scene(root, 430, 500); + primaryStage.setTitle("mucc"); diff --git a/src/app/layout.fxml b/src/app/layout.fxml index 5ac21c9..81708b1 100644 --- a/src/app/layout.fxml +++ b/src/app/layout.fxml @@ -1,6 +1,6 @@ - + @@ -8,114 +8,133 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -