Create connector
This commit is contained in:
parent
b31762e410
commit
461738d25e
@ -6,14 +6,14 @@ import javafx.scene.Parent;
|
|||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
import java.net.URL;
|
|
||||||
|
|
||||||
public class Main extends Application {
|
public class Main extends Application {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws Exception{
|
public void start(Stage primaryStage) throws Exception{
|
||||||
URL mainPage = ClassLoader.getSystemClassLoader().getResource("resource/mainPage.fxml");
|
ResourceLoader loader = ResourceLoader.getInstance();
|
||||||
Parent root = FXMLLoader.load(mainPage);
|
|
||||||
|
Parent root = FXMLLoader.load(loader.getResource("mainPage.fxml"));
|
||||||
primaryStage.setTitle("FTP SAR");
|
primaryStage.setTitle("FTP SAR");
|
||||||
primaryStage.setScene(new Scene(root));
|
primaryStage.setScene(new Scene(root));
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
|
@ -1,7 +1,29 @@
|
|||||||
package application;
|
package application;
|
||||||
|
|
||||||
|
import application.client.Connector;
|
||||||
|
import application.client.exception.CannotConnectException;
|
||||||
|
import javafx.event.Event;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
|
|
||||||
public class MainPageController {
|
public class MainPageController {
|
||||||
|
public TextField rawFieldWithIp = null;
|
||||||
|
public Label errorLabel = null;
|
||||||
|
private Connector connector = Connector.getInstance();
|
||||||
|
|
||||||
public MainPageController() {
|
public MainPageController() {
|
||||||
System.out.println("Controller work!");
|
System.out.println("Controller work!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void connectButton(Event e) {
|
||||||
|
System.out.println(rawFieldWithIp.getText());;
|
||||||
|
|
||||||
|
try {
|
||||||
|
this.connector.connect(this.rawFieldWithIp.getText());
|
||||||
|
} catch (CannotConnectException ex) {
|
||||||
|
this.errorLabel.setText("Cannot connect");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
46
src/application/PropertiesLoader.java
Normal file
46
src/application/PropertiesLoader.java
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package application;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
public class PropertiesLoader {
|
||||||
|
private static final PropertiesLoader instance = new PropertiesLoader();
|
||||||
|
private ResourceLoader resourceLoader = ResourceLoader.getInstance();
|
||||||
|
|
||||||
|
public PropertiesLoader () {}
|
||||||
|
|
||||||
|
public static PropertiesLoader getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Properties load() {
|
||||||
|
Properties properties = new Properties();
|
||||||
|
|
||||||
|
try {
|
||||||
|
InputStream inputStream = resourceLoader.getResourceAsStream("config.properties");
|
||||||
|
properties.load(inputStream);
|
||||||
|
|
||||||
|
inputStream.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return properties;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save(Properties prop) {
|
||||||
|
try {
|
||||||
|
OutputStream output = new FileOutputStream(this.resourceLoader.getPath("config.properties"));
|
||||||
|
prop.store(output, null);
|
||||||
|
|
||||||
|
output.close();
|
||||||
|
System.out.println(prop);
|
||||||
|
} catch (IOException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
33
src/application/ResourceLoader.java
Normal file
33
src/application/ResourceLoader.java
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package application;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
public class ResourceLoader {
|
||||||
|
private static final ResourceLoader instance = new ResourceLoader();
|
||||||
|
String name;
|
||||||
|
|
||||||
|
public URL getResource(String name) {
|
||||||
|
return getClass().getClassLoader().getResource("resource/" + name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InputStream getResourceAsStream(String name) {
|
||||||
|
return getClass().getClassLoader().getResourceAsStream("resource/" + name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPath(String name) {
|
||||||
|
return this.getResource(name).getPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ResourceLoader getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void test(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String get() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
|
}
|
27
src/application/client/Connector.java
Normal file
27
src/application/client/Connector.java
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package application.client;
|
||||||
|
|
||||||
|
import application.client.exception.CannotConnectException;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.Socket;
|
||||||
|
|
||||||
|
public class Connector {
|
||||||
|
private static final Connector instance = new Connector();
|
||||||
|
|
||||||
|
private Socket client = null;
|
||||||
|
|
||||||
|
private Connector() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Connector getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void connect(String ip) throws CannotConnectException {
|
||||||
|
try {
|
||||||
|
this.client = new Socket(ip, 7332);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new CannotConnectException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
package application.client.exception;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class CannotConnectException extends IOException {
|
||||||
|
}
|
1
src/resource/config.properties
Normal file
1
src/resource/config.properties
Normal file
@ -0,0 +1 @@
|
|||||||
|
port=7332
|
@ -1,62 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.Button?>
|
||||||
<?import javafx.scene.control.Label?>
|
<?import javafx.scene.control.Label?>
|
||||||
<?import javafx.scene.control.Menu?>
|
<?import javafx.scene.control.TextField?>
|
||||||
<?import javafx.scene.control.MenuBar?>
|
|
||||||
<?import javafx.scene.control.MenuItem?>
|
|
||||||
<?import javafx.scene.control.SeparatorMenuItem?>
|
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<VBox prefHeight="400.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainPageController">
|
<VBox prefHeight="400.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainPageController">
|
||||||
<children>
|
<children>
|
||||||
<MenuBar VBox.vgrow="NEVER">
|
|
||||||
<menus>
|
|
||||||
<Menu mnemonicParsing="false" text="File">
|
|
||||||
<items>
|
|
||||||
<MenuItem mnemonicParsing="false" 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 maxHeight="-1.0" maxWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS">
|
<AnchorPane maxHeight="-1.0" maxWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0" VBox.vgrow="ALWAYS">
|
||||||
<children>
|
<children>
|
||||||
<Label alignment="CENTER" layoutX="197.0" layoutY="173.0" style=" " text="FTP SAR - Sender And Reciver" textAlignment="CENTER" textFill="#9f9f9f" wrapText="false">
|
<Label alignment="CENTER" layoutX="197.0" layoutY="45.0" style=" " text="FTP SAR - Sender And Reciver" textAlignment="CENTER" textFill="#9f9f9f" wrapText="false">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
|
<TextField fx:id="rawFieldWithIp" layoutX="239.0" layoutY="82.0" promptText="Insert ip" />
|
||||||
|
<Button layoutX="290.0" layoutY="122.0" mnemonicParsing="false" onAction="#connectButton" text="Connect" />
|
||||||
|
<Label fx:id="errorLabel" alignment="CENTER" contentDisplay="CENTER" layoutX="15.0" layoutY="14.0" prefHeight="18.0" prefWidth="608.0" textFill="RED" />
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
</children>
|
</children>
|
||||||
|
Loading…
Reference in New Issue
Block a user