diff --git a/src/main/java/ftp/sar/builder/FilePaneBuilder.java b/src/main/java/ftp/sar/builder/FilePaneBuilder.java new file mode 100644 index 0000000..5aaee4d --- /dev/null +++ b/src/main/java/ftp/sar/builder/FilePaneBuilder.java @@ -0,0 +1,36 @@ +package ftp.sar.builder; + +import javafx.geometry.HPos; +import javafx.geometry.VPos; +import javafx.scene.layout.Pane; +import javafx.scene.text.Text; +import javafx.scene.text.TextAlignment; + +public class FilePaneBuilder { + + public Pane getPane(String fileName) { + Pane pane = new Pane(); + pane.setPrefWidth(130); + pane.setPrefHeight(50); + pane.setStyle("-fx-border-color: black"); + Text text = new Text(); + text.setLayoutY(25); + text.prefWidth(130); + text.setTextAlignment(TextAlignment.CENTER); + + text.setText(this.getName(fileName)); + + pane.getChildren().add(text); + + return pane; + } + + private String getName(String fileName) { + if (fileName.length() > 120) { + fileName = fileName.substring(0, 120); + } + + return fileName; + } + +} diff --git a/src/main/java/ftp/sar/controller/ServerPanelController.java b/src/main/java/ftp/sar/controller/ServerPanelController.java index 2ed4053..2a04d4d 100644 --- a/src/main/java/ftp/sar/controller/ServerPanelController.java +++ b/src/main/java/ftp/sar/controller/ServerPanelController.java @@ -1,28 +1,45 @@ package ftp.sar.controller; +import ftp.sar.builder.FilePaneBuilder; import ftp.sar.server.Server; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Label; +import javafx.scene.layout.FlowPane; import java.net.URL; import java.util.ResourceBundle; public class ServerPanelController implements Initializable { private Server server; + private FilePaneBuilder filePaneBuilder = new FilePaneBuilder(); @FXML Label serverPort; @FXML Label serverIp; + @FXML + FlowPane fileContainer; + public void setData(Server server) { this.server = server; this.serverPort.setText(Integer.toString(server.getPort())); this.serverIp.setText(server.getIp()); + + this.setFileList(); + } + + private void setFileList() { + for (String filename: this.server.getFileList()) { + var pane = this.filePaneBuilder.getPane(filename); + + this.fileContainer.getChildren().add(pane); + } } @Override public void initialize(URL url, ResourceBundle resourceBundle) { } + } diff --git a/src/main/resources/main_page.fxml b/src/main/resources/main_page.fxml index edfb413..6e0f808 100644 --- a/src/main/resources/main_page.fxml +++ b/src/main/resources/main_page.fxml @@ -8,14 +8,13 @@ - - + -