diff --git a/build/built-jar.properties b/build/built-jar.properties
index 79801b4..cf0b973 100644
--- a/build/built-jar.properties
+++ b/build/built-jar.properties
@@ -1,4 +1,4 @@
-#Fri, 09 Aug 2019 06:43:38 +0200
+#Fri, 09 Aug 2019 06:54:47 +0200
D\:\\Git-Repos\\java-fx-8-samples=
diff --git a/build/classes/texteditor/About.fxml b/build/classes/texteditor/About.fxml
new file mode 100644
index 0000000..9c4ebd7
--- /dev/null
+++ b/build/classes/texteditor/About.fxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/classes/texteditor/AboutController.class b/build/classes/texteditor/AboutController.class
new file mode 100644
index 0000000..265b863
Binary files /dev/null and b/build/classes/texteditor/AboutController.class differ
diff --git a/build/classes/texteditor/FXMLDocument.fxml b/build/classes/texteditor/FXMLDocument.fxml
new file mode 100644
index 0000000..14e8860
--- /dev/null
+++ b/build/classes/texteditor/FXMLDocument.fxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/classes/texteditor/FXMLDocumentController.class b/build/classes/texteditor/FXMLDocumentController.class
new file mode 100644
index 0000000..e1d36f3
Binary files /dev/null and b/build/classes/texteditor/FXMLDocumentController.class differ
diff --git a/build/classes/texteditor/Main.class b/build/classes/texteditor/Main.class
new file mode 100644
index 0000000..2cad10d
Binary files /dev/null and b/build/classes/texteditor/Main.class differ
diff --git a/build/classes/texteditor/MainAbout.class b/build/classes/texteditor/MainAbout.class
new file mode 100644
index 0000000..6b699aa
Binary files /dev/null and b/build/classes/texteditor/MainAbout.class differ
diff --git a/build/classes/texteditor/icon.png b/build/classes/texteditor/icon.png
new file mode 100644
index 0000000..4b32d56
Binary files /dev/null and b/build/classes/texteditor/icon.png differ
diff --git a/build/classes/texteditor/icon2.png b/build/classes/texteditor/icon2.png
new file mode 100644
index 0000000..e7dcd63
Binary files /dev/null and b/build/classes/texteditor/icon2.png differ
diff --git a/build/classes/utils/Runner.class b/build/classes/utils/Runner.class
index eaedd94..3167f8e 100644
Binary files a/build/classes/utils/Runner.class and b/build/classes/utils/Runner.class differ
diff --git a/dist/java-fx-8-samples.html b/dist/java-fx-8-samples.html
index d932a73..5497a7a 100644
--- a/dist/java-fx-8-samples.html
+++ b/dist/java-fx-8-samples.html
@@ -4,7 +4,7 @@
function launchApplication(jnlpfile) {
dtjava.launch( {
url : 'java-fx-8-samples.jnlp',
- jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIyMTk2MjYiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo='
+ jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIyNjQwNzMiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo='
},
{
javafx : '8.0+'
@@ -24,7 +24,7 @@
placeholder : 'javafx-app-placeholder',
width : '800',
height : '600',
- jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIyMTk2MjYiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo='
+ jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIyNjQwNzMiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo='
},
{
javafx : '8.0+'
diff --git a/dist/java-fx-8-samples.jar b/dist/java-fx-8-samples.jar
index 117581f..a093ab3 100644
Binary files a/dist/java-fx-8-samples.jar and b/dist/java-fx-8-samples.jar differ
diff --git a/dist/java-fx-8-samples.jnlp b/dist/java-fx-8-samples.jnlp
index 297dd20..51e1fc3 100644
--- a/dist/java-fx-8-samples.jnlp
+++ b/dist/java-fx-8-samples.jnlp
@@ -8,7 +8,7 @@
-
+
diff --git a/src/texteditor/About.fxml b/src/texteditor/About.fxml
new file mode 100644
index 0000000..9c4ebd7
--- /dev/null
+++ b/src/texteditor/About.fxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/texteditor/AboutController.java b/src/texteditor/AboutController.java
new file mode 100644
index 0000000..eff51fa
--- /dev/null
+++ b/src/texteditor/AboutController.java
@@ -0,0 +1,59 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package texteditor;
+
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+import java.net.URL;
+import java.util.ResourceBundle;
+import javafx.event.ActionEvent;
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+
+/**
+ * FXML Controller class
+ *
+ * @author Marcel
+ */
+public class AboutController implements Initializable {
+
+ @FXML
+ private Label lblTest;
+ @FXML
+ private Button btnButton;
+ @FXML
+ private Button btnWeb;
+ @FXML
+ private Label lblCopied;
+
+ /**
+ * Initializes the controller class.
+ * @param url
+ * @param rb
+ */
+ @Override
+ public void initialize(URL url, ResourceBundle rb) {
+ }
+
+ @FXML
+ private void handleButton(ActionEvent event) throws Exception {
+ texteditor.FXMLDocumentController.destroyAbout();
+ }
+
+ @FXML
+ private void handleWeb(ActionEvent event) throws InterruptedException {
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection("http://icaotix.de"), null);
+
+ btnWeb.setLayoutX(34.0);
+ btnWeb.setLayoutY(-109.0);
+
+ lblCopied.setLayoutX(14.0);
+ lblCopied.setLayoutY(46.0);
+ }
+
+}
diff --git a/src/texteditor/FXMLDocument.fxml b/src/texteditor/FXMLDocument.fxml
new file mode 100644
index 0000000..14e8860
--- /dev/null
+++ b/src/texteditor/FXMLDocument.fxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/texteditor/FXMLDocumentController.java b/src/texteditor/FXMLDocumentController.java
new file mode 100644
index 0000000..8bf7254
--- /dev/null
+++ b/src/texteditor/FXMLDocumentController.java
@@ -0,0 +1,172 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package texteditor;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ResourceBundle;
+import javafx.event.ActionEvent;
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.control.MenuItem;
+import javafx.scene.control.TextArea;
+import javafx.scene.input.Clipboard;
+import javafx.scene.input.ClipboardContent;
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author Marcel
+ */
+public class FXMLDocumentController implements Initializable {
+
+ //Stages
+ private final Stage stage = new Stage();
+ private static Stage stage2 = new Stage();
+
+ //Dateien
+ private final FileChooser fc = new FileChooser();
+ private File f;
+ private FileReader fr;
+ private final String zeilenumbruch;
+
+ //Copy and Paste
+ private String selected;
+ private static final texteditor.MainAbout ad = new MainAbout();
+ Clipboard clipboard = Clipboard.getSystemClipboard();
+ ClipboardContent content = new ClipboardContent();
+
+ //Oberflaeche
+ @FXML
+ private MenuItem MOpen;
+ @FXML
+ private MenuItem MQuit;
+ @FXML
+ private MenuItem MRefresh;
+ @FXML
+ private MenuItem MClose;
+ @FXML
+ private MenuItem MAbout;
+ @FXML
+ private TextArea TextArea;
+ @FXML
+ private MenuItem MSave;
+ @FXML
+ private MenuItem MCopy;
+ @FXML
+ private MenuItem MPaste;
+ @FXML
+ private MenuItem CMCopy;
+ @FXML
+ private MenuItem CMPaste;
+ @FXML
+ private MenuItem CMRefresh;
+
+ public FXMLDocumentController() {
+ this.zeilenumbruch = System.getProperty("line.separator");
+ }
+
+ @Override
+ public void initialize(URL url, ResourceBundle rb) {
+
+ }
+
+ @FXML
+ private void handleMOpen(ActionEvent event) throws IOException {
+ fc.setTitle("Coose txt File");
+ fc.getExtensionFilters().add(new FileChooser.ExtensionFilter("TXT", "*.txt"));
+ f = fc.showOpenDialog(stage);
+ fc.getExtensionFilters().clear();
+ refresh();
+ }
+
+ @FXML
+ private void handleMQuit(ActionEvent event) {
+ System.exit(0);
+ }
+
+ @FXML
+ private void handleMRefrash(ActionEvent event) throws IOException {
+ refresh();
+ }
+
+ @FXML
+ private void handleMClose(ActionEvent event) {
+ TextArea.setText("");
+ f = null;
+ }
+
+ @FXML
+ private void handleMAbout(ActionEvent event) throws Exception {
+ ad.start(stage2);
+ }
+
+ @FXML
+ private void handleMSave(ActionEvent event) throws IOException {
+ if (f != null) {
+ FileWriter fw = new FileWriter(f);
+ try (BufferedWriter bw = new BufferedWriter(fw)) {
+ String writeTXT = TextArea.getText();
+ writeTXT = writeTXT.replaceAll("\n", zeilenumbruch);
+ bw.write(writeTXT);
+ }
+ } else {
+ fc.setTitle("Save at");
+ fc.getExtensionFilters().add(new FileChooser.ExtensionFilter("TXT", "*.txt"));
+ f = fc.showSaveDialog(stage);
+ fc.getExtensionFilters().clear();
+ //handleMSave(event);
+ }
+ }
+
+ private void refresh() throws FileNotFoundException, IOException {
+ TextArea.setText("");
+ if (f != null) {
+ fr = new FileReader(f);
+ try (BufferedReader br = new BufferedReader(fr)) {
+ String zeile;
+ while ((zeile = br.readLine()) != null) {
+ TextArea.appendText(zeile);
+ TextArea.appendText("\n");
+ }
+ }
+
+ }
+ }
+
+ public static void destroyAbout() {
+ stage2.close();
+ stage2 = new Stage();
+ }
+
+ @FXML
+ private void handleMCopy(ActionEvent event) {
+ selected = TextArea.getSelectedText();
+ content.putString(selected);
+ clipboard.clear();
+ clipboard.setContent(content);
+ }
+
+ @FXML
+ private void handleMPaste(ActionEvent event) {
+ if (clipboard.hasString()) {
+ int cursor = TextArea.getCaretPosition();
+ String curText = TextArea.getText();
+ String paste1 = curText.substring(0, cursor);
+ String paste2 = curText.substring(cursor, curText.length());
+ curText = paste1 + clipboard.getString() + paste2;
+ TextArea.setText(curText);
+ }
+ }
+
+}
diff --git a/src/texteditor/Main.java b/src/texteditor/Main.java
new file mode 100644
index 0000000..946d130
--- /dev/null
+++ b/src/texteditor/Main.java
@@ -0,0 +1,47 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package texteditor;
+
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.application.Application;
+import static javafx.application.Application.launch;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author Marcel
+ */
+public class Main extends Application {
+
+ @Override
+ public void start(Stage stage) {
+ Parent root = null;
+ try {
+ root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
+ } catch (IOException ex) {
+ Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ Scene scene = new Scene(root);
+ stage.getIcons().add(new javafx.scene.image.Image("/texteditor/icon2.png"));
+ stage.setTitle("TXT-Editor");
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String[] args) {
+ launch(args);
+ }
+
+}
diff --git a/src/texteditor/MainAbout.java b/src/texteditor/MainAbout.java
new file mode 100644
index 0000000..d02bde0
--- /dev/null
+++ b/src/texteditor/MainAbout.java
@@ -0,0 +1,45 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package texteditor;
+
+import javafx.application.Application;
+import static javafx.application.Application.launch;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Modality;
+import javafx.stage.Stage;
+import javafx.stage.WindowEvent;
+
+/**
+ *
+ * @author Marcel
+ */
+public class MainAbout extends Application {
+
+ @Override
+ public void start(Stage stage) throws Exception {
+ Parent root = FXMLLoader.load(getClass().getResource("About.fxml"));
+
+ Scene scene = new Scene(root);
+ stage.initModality(Modality.APPLICATION_MODAL);
+ stage.setAlwaysOnTop(true);
+ stage.setOnCloseRequest((event) -> texteditor.FXMLDocumentController.destroyAbout());
+
+ stage.getIcons().add(new javafx.scene.image.Image("/texteditor/icon2.png"));
+ stage.setResizable(false);
+ stage.setTitle("About Me");
+ stage.setScene(scene);
+ stage.showAndWait();
+ }
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String[] args) {
+ launch(args);
+ }
+}
diff --git a/src/texteditor/icon.png b/src/texteditor/icon.png
new file mode 100644
index 0000000..4b32d56
Binary files /dev/null and b/src/texteditor/icon.png differ
diff --git a/src/texteditor/icon2.png b/src/texteditor/icon2.png
new file mode 100644
index 0000000..e7dcd63
Binary files /dev/null and b/src/texteditor/icon2.png differ
diff --git a/src/utils/Runner.java b/src/utils/Runner.java
index 4e96540..178791f 100644
--- a/src/utils/Runner.java
+++ b/src/utils/Runner.java
@@ -5,18 +5,13 @@
*/
package utils;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.GridPane;
-import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.stage.Stage;
@@ -152,6 +147,10 @@ public class Runner extends Application{
btn26.setOnAction(event -> new steganography.Main().start(new Stage()));
gridpane.add(btn26, 1, 10);
+ Button btn27 = new Button("Start Texteditor");
+ btn27.setOnAction(event -> new texteditor.Main().start(new Stage()));
+ gridpane.add(btn27, 2, 10);
+
ScrollPane root = new ScrollPane(gridpane);
Scene scene = new Scene(root, 600, 400);