Add Base n Converter

This commit is contained in:
Marcel Schwarz 2019-08-09 06:25:43 +02:00
parent 1c7166454a
commit 8b5edde66b
12 changed files with 298 additions and 41 deletions

View File

@ -1,4 +1,4 @@
#Fri, 09 Aug 2019 05:16:48 +0200 #Fri, 09 Aug 2019 06:24:54 +0200
C\:\\Users\\mschw\\Desktop\\CODE\\java-fx-8-samples= D\:\\Git-Repos\\java-fx-8-samples=

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="265.0" prefWidth="496.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="basenconverter.FXMLDocumentController">
<children>
<Label layoutX="184.0" layoutY="14.0" text="Zahlensystem Converter" />
<TextField fx:id="txtDez" layoutX="182.0" layoutY="60.0" prefWidth="300.0">
<opaqueInsets>
<Insets />
</opaqueInsets>
</TextField>
<TextField fx:id="txtHex" layoutX="182.0" layoutY="90.0" prefWidth="300.0">
<opaqueInsets>
<Insets />
</opaqueInsets>
</TextField>
<TextField fx:id="txtBin" layoutX="182.0" layoutY="120.0" prefWidth="300.0">
<opaqueInsets>
<Insets />
</opaqueInsets>
</TextField>
<Label layoutX="29.0" layoutY="64.0" text="Dezimal" />
<Label layoutX="29.0" layoutY="94.0" text="Hexadezimal" />
<Label layoutX="29.0" layoutY="124.0" text="Binär" />
<Button fx:id="btnConvert" layoutX="219.0" layoutY="168.0" mnemonicParsing="false" onAction="#handleConvert" text="Convert" />
<Label fx:id="lblFehler" alignment="CENTER" contentDisplay="CENTER" layoutX="15.0" layoutY="234.0" prefHeight="17.0" prefWidth="466.0" text="keine Fehler" textAlignment="CENTER" />
<RadioButton fx:id="rbtnDez" layoutX="29.0" layoutY="160.0" mnemonicParsing="false" onAction="#handlerbtnDez" text="Dez -&gt; Hex/Bin">
<toggleGroup>
<ToggleGroup fx:id="fromTo" />
</toggleGroup>
</RadioButton>
<RadioButton fx:id="rbtnHex" layoutX="29.0" layoutY="185.0" mnemonicParsing="false" onAction="#handlerbtnHex" text="Hex -&gt; Dez/Bin" toggleGroup="$fromTo" />
<RadioButton fx:id="rbtnBin" layoutX="29.0" layoutY="210.0" mnemonicParsing="false" onAction="#handlerbtnBin" text="Bin -&gt; Dez/Hex" toggleGroup="$fromTo" />
</children>
</Pane>

Binary file not shown.

Binary file not shown.

View File

@ -4,7 +4,7 @@
function launchApplication(jnlpfile) { function launchApplication(jnlpfile) {
dtjava.launch( { dtjava.launch( {
url : 'java-fx-8-samples.jnlp', url : 'java-fx-8-samples.jnlp',
jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIxOTk1MTUiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo=' jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIyMDMzMzgiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo='
}, },
{ {
javafx : '8.0+' javafx : '8.0+'
@ -24,7 +24,7 @@
placeholder : 'javafx-app-placeholder', placeholder : 'javafx-app-placeholder',
width : '800', width : '800',
height : '600', height : '600',
jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIxOTk1MTUiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo=' jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+amF2YS1meC04LXNhbXBsZXM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXNjaHc8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iamF2YS1meC04LXNhbXBsZXMuamFyIiBzaXplPSIyMDMzMzgiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJ1dGlscy5SdW5uZXIiICBuYW1lPSJqYXZhLWZ4LTgtc2FtcGxlcyIgLz4NCiAgPHVwZGF0ZSBjaGVjaz0iYWx3YXlzIi8+DQo8L2pubHA+DQo='
}, },
{ {
javafx : '8.0+' javafx : '8.0+'

Binary file not shown.

View File

@ -8,7 +8,7 @@
</information> </information>
<resources> <resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="java-fx-8-samples.jar" size="199515" download="eager" /> <jar href="java-fx-8-samples.jar" size="203338" download="eager" />
</resources> </resources>
<jfx:javafx-desc width="800" height="600" main-class="utils.Runner" name="java-fx-8-samples" /> <jfx:javafx-desc width="800" height="600" main-class="utils.Runner" name="java-fx-8-samples" />
<update check="always"/> <update check="always"/>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="265.0" prefWidth="496.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="basenconverter.FXMLDocumentController">
<children>
<Label layoutX="184.0" layoutY="14.0" text="Zahlensystem Converter" />
<TextField fx:id="txtDez" layoutX="182.0" layoutY="60.0" prefWidth="300.0">
<opaqueInsets>
<Insets />
</opaqueInsets>
</TextField>
<TextField fx:id="txtHex" layoutX="182.0" layoutY="90.0" prefWidth="300.0">
<opaqueInsets>
<Insets />
</opaqueInsets>
</TextField>
<TextField fx:id="txtBin" layoutX="182.0" layoutY="120.0" prefWidth="300.0">
<opaqueInsets>
<Insets />
</opaqueInsets>
</TextField>
<Label layoutX="29.0" layoutY="64.0" text="Dezimal" />
<Label layoutX="29.0" layoutY="94.0" text="Hexadezimal" />
<Label layoutX="29.0" layoutY="124.0" text="Binär" />
<Button fx:id="btnConvert" layoutX="219.0" layoutY="168.0" mnemonicParsing="false" onAction="#handleConvert" text="Convert" />
<Label fx:id="lblFehler" alignment="CENTER" contentDisplay="CENTER" layoutX="15.0" layoutY="234.0" prefHeight="17.0" prefWidth="466.0" text="keine Fehler" textAlignment="CENTER" />
<RadioButton fx:id="rbtnDez" layoutX="29.0" layoutY="160.0" mnemonicParsing="false" onAction="#handlerbtnDez" text="Dez -&gt; Hex/Bin">
<toggleGroup>
<ToggleGroup fx:id="fromTo" />
</toggleGroup>
</RadioButton>
<RadioButton fx:id="rbtnHex" layoutX="29.0" layoutY="185.0" mnemonicParsing="false" onAction="#handlerbtnHex" text="Hex -&gt; Dez/Bin" toggleGroup="$fromTo" />
<RadioButton fx:id="rbtnBin" layoutX="29.0" layoutY="210.0" mnemonicParsing="false" onAction="#handlerbtnBin" text="Bin -&gt; Dez/Hex" toggleGroup="$fromTo" />
</children>
</Pane>

View File

@ -0,0 +1,114 @@
/*
* 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 basenconverter;
import java.math.BigInteger;
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;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
/**
*
* @author Marcel
*/
public class FXMLDocumentController implements Initializable {
@FXML
private TextField txtDez;
@FXML
private TextField txtHex;
@FXML
private TextField txtBin;
@FXML
private Button btnConvert;
@FXML
private Label lblFehler;
@FXML
private RadioButton rbtnDez;
@FXML
private ToggleGroup fromTo;
@FXML
private RadioButton rbtnHex;
@FXML
private RadioButton rbtnBin;
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
@FXML
private void handleConvert(ActionEvent event) {
try {
if (fromTo.getSelectedToggle().equals(rbtnDez)) {
Long l = Long.parseLong(txtDez.getText());
txtHex.setText(Long.toHexString(l));
txtBin.setText(Long.toBinaryString(l));
} else if (fromTo.getSelectedToggle().equals(rbtnHex)) {
String hex = txtHex.getText();
BigInteger bi = new BigInteger(hex, 16);
txtDez.setText(bi.toString());
Long l = Long.parseLong(txtDez.getText());
txtBin.setText(Long.toBinaryString(l));
} else if (fromTo.getSelectedToggle().equals(rbtnBin)) {
String bin = txtBin.getText();
BigInteger bi = new BigInteger(bin, 2);
txtDez.setText(bi.toString());
Long l = Long.parseLong(txtDez.getText());
txtHex.setText(Long.toHexString(l));
} else {
lblFehler.setText("Select Radiobutton");
}
} catch (Exception e) {
lblFehler.setText("Eingabefehler");
}
}
@FXML
private void handlerbtnDez(ActionEvent event) {
txtBin.setText(null);
txtDez.setText(null);
txtHex.setText(null);
txtDez.setEditable(true);
txtBin.setEditable(false);
txtHex.setEditable(false);
}
@FXML
private void handlerbtnHex(ActionEvent event) {
txtBin.setText(null);
txtDez.setText(null);
txtHex.setText(null);
txtHex.setEditable(true);
txtBin.setEditable(false);
txtDez.setEditable(false);
}
@FXML
private void handlerbtnBin(ActionEvent event) {
txtBin.setText(null);
txtDez.setText(null);
txtHex.setText(null);
txtBin.setEditable(true);
txtHex.setEditable(false);
txtDez.setEditable(false);
}
}

View File

@ -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 basenconverter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
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.setScene(scene);
stage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}

View File

@ -13,9 +13,11 @@ import javafx.event.EventHandler;
import javafx.geometry.Insets; import javafx.geometry.Insets;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane; import javafx.scene.control.ScrollPane;
import javafx.scene.layout.GridPane; import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane; import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.stage.Stage; import javafx.stage.Stage;
/** /**
@ -38,97 +40,109 @@ public class Runner extends Application{
GridPane gridpane = new GridPane(); GridPane gridpane = new GridPane();
gridpane.paddingProperty().set(new Insets(5)); gridpane.paddingProperty().set(new Insets(5));
Label lblTechdemo = new Label("Techdemos:");
lblTechdemo.setFont(Font.font(20));
gridpane.add(lblTechdemo, 0, 0);
Button btn1 = new Button("Start Animated Ball 1"); Button btn1 = new Button("Start Animated Ball 1");
btn1.setOnAction(event -> new animatedball1.Main().start(new Stage())); btn1.setOnAction(event -> new animatedball1.Main().start(new Stage()));
gridpane.add(btn1, 0, 0); gridpane.add(btn1, 0, 1);
Button btn2 = new Button("Start Animated Ball 2"); Button btn2 = new Button("Start Animated Ball 2");
btn2.setOnAction(event -> new animatedBall2.Main().start(new Stage())); btn2.setOnAction(event -> new animatedBall2.Main().start(new Stage()));
gridpane.add(btn2, 1, 0); gridpane.add(btn2, 1, 1);
Button btn3 = new Button("Start Buegelperlen");
btn3.setOnAction(event -> new buegelperlen.Main().start(new Stage()));
gridpane.add(btn3, 2, 0);
Button btn4 = new Button("Start Change Scene 1"); Button btn4 = new Button("Start Change Scene 1");
btn4.setOnAction(event -> new changescene1.Main().start(new Stage())); btn4.setOnAction(event -> new changescene1.Main().start(new Stage()));
gridpane.add(btn4, 0, 1); gridpane.add(btn4, 2, 1);
Button btn5 = new Button("Start Change Scene 2"); Button btn5 = new Button("Start Change Scene 2");
btn5.setOnAction(event -> new changescene2.Main().start(new Stage())); btn5.setOnAction(event -> new changescene2.Main().start(new Stage()));
gridpane.add(btn5, 1, 1); gridpane.add(btn5, 0, 2);
Button btn6 = new Button("Start Circlegenerator"); Button btn6 = new Button("Start Circlegenerator");
btn6.setOnAction(event -> new circlegenerator.Main().start(new Stage())); btn6.setOnAction(event -> new circlegenerator.Main().start(new Stage()));
gridpane.add(btn6, 2, 1); gridpane.add(btn6, 1, 2);
Button btn7 = new Button("Start Collision Test"); Button btn7 = new Button("Start Collision Test");
btn7.setOnAction(event -> new collisiontest.Main().start(new Stage())); btn7.setOnAction(event -> new collisiontest.Main().start(new Stage()));
gridpane.add(btn7, 0, 2); gridpane.add(btn7, 2, 2);
Button btn8 = new Button("Start Color Shooter"); Button btn8 = new Button("Start Color Shooter");
btn8.setOnAction(event -> new colorshooter.Main().start(new Stage())); btn8.setOnAction(event -> new colorshooter.Main().start(new Stage()));
gridpane.add(btn8, 1, 2); gridpane.add(btn8, 0, 3);
Button btn9 = new Button("Start Cube Demo"); Button btn9 = new Button("Start Cube Demo");
btn9.setOnAction(event -> new cubedemo.Main().start(new Stage())); btn9.setOnAction(event -> new cubedemo.Main().start(new Stage()));
gridpane.add(btn9, 2, 2); gridpane.add(btn9, 1, 3);
Button btn10 = new Button("Start Easy Screenshotter");
btn10.setOnAction(event -> new easyscreenshotter.Main().start(new Stage()));
gridpane.add(btn10, 0, 3);
Button btn11 = new Button("Start Grafischer Wuerfel"); Button btn11 = new Button("Start Grafischer Wuerfel");
btn11.setOnAction(event -> new grafischerwuerfel.Main().start(new Stage())); btn11.setOnAction(event -> new grafischerwuerfel.Main().start(new Stage()));
gridpane.add(btn11, 1, 3); gridpane.add(btn11, 2, 3);
Button btn12 = new Button("Start IPv4 Generator"); Button btn12 = new Button("Start IPv4 Generator");
btn12.setOnAction(event -> new ipv4generator.Main().start(new Stage())); btn12.setOnAction(event -> new ipv4generator.Main().start(new Stage()));
gridpane.add(btn12, 2, 3); gridpane.add(btn12, 0, 4);
Button btn13 = new Button("Start ListView Test 1"); Button btn13 = new Button("Start ListView Test 1");
btn13.setOnAction(event -> new listviewtest1.Main().start(new Stage())); btn13.setOnAction(event -> new listviewtest1.Main().start(new Stage()));
gridpane.add(btn13, 0, 4); gridpane.add(btn13, 1, 4);
Button btn14 = new Button("Start ListView Test 2"); Button btn14 = new Button("Start ListView Test 2");
btn14.setOnAction(event -> new listviewtest2.Main().start(new Stage())); btn14.setOnAction(event -> new listviewtest2.Main().start(new Stage()));
gridpane.add(btn14, 1, 4); gridpane.add(btn14, 2, 4);
Button btn15 = new Button("Start Movie Database"); Button btn15 = new Button("Start Movie Database");
btn15.setOnAction(event -> new moviedatabase.Main().start(new Stage())); btn15.setOnAction(event -> new moviedatabase.Main().start(new Stage()));
gridpane.add(btn15, 2, 4); gridpane.add(btn15, 0, 5);
Button btn16 = new Button("Start Multiple Windows"); Button btn16 = new Button("Start Multiple Windows");
btn16.setOnAction(event -> new multiplewindows.Main().start(new Stage())); btn16.setOnAction(event -> new multiplewindows.Main().start(new Stage()));
gridpane.add(btn16, 0, 5); gridpane.add(btn16, 1, 5);
Button btn17 = new Button("Start My Cookie Clicker"); Button btn17 = new Button("Start My Cookie Clicker");
btn17.setOnAction(event -> new mycookieclicker.Main().start(new Stage())); btn17.setOnAction(event -> new mycookieclicker.Main().start(new Stage()));
gridpane.add(btn17, 1, 5); gridpane.add(btn17, 2, 5);
Button btn18 = new Button("Start Progressbars"); Button btn18 = new Button("Start Progressbars");
btn18.setOnAction(event -> new progressbars.Main().start(new Stage())); btn18.setOnAction(event -> new progressbars.Main().start(new Stage()));
gridpane.add(btn18, 2, 5); gridpane.add(btn18, 0, 6);
Button btn19 = new Button("Start Random Word Gen Finder");
btn19.setOnAction(event -> new randomwordgenfinder.Main().start(new Stage()));
gridpane.add(btn19, 0, 6);
Button btn20 = new Button("Start Taschenrechner Komma");
btn20.setOnAction(event -> new taschenrechnerkomma.Main().start(new Stage()));
gridpane.add(btn20, 1, 6);
Button btn21 = new Button("Start Track Cursor"); Button btn21 = new Button("Start Track Cursor");
btn21.setOnAction(event -> new trackcoursor.Main().start(new Stage())); btn21.setOnAction(event -> new trackcoursor.Main().start(new Stage()));
gridpane.add(btn21, 2, 6); gridpane.add(btn21, 1, 6);
Button btn22 = new Button("Start Unicode Emoji Test"); Button btn22 = new Button("Start Unicode Emoji Test");
btn22.setOnAction(event -> new unicodeemojitest.Main().start(new Stage())); btn22.setOnAction(event -> new unicodeemojitest.Main().start(new Stage()));
gridpane.add(btn22, 0, 7); gridpane.add(btn22, 2, 6);
Label lblFertig = new Label("Echte Projekte:");
lblFertig.setFont(Font.font(20));
gridpane.add(lblFertig, 0, 7);
Button btn3 = new Button("Start Buegelperlen");
btn3.setOnAction(event -> new buegelperlen.Main().start(new Stage()));
gridpane.add(btn3, 0, 8);
Button btn23 = new Button("Start Base N Converter");
btn23.setOnAction(event -> new basenconverter.Main().start(new Stage()));
gridpane.add(btn23, 1, 8);
Button btn10 = new Button("Start Easy Screenshotter");
btn10.setOnAction(event -> new easyscreenshotter.Main().start(new Stage()));
gridpane.add(btn10, 2, 8);
Button btn19 = new Button("Start Random Word Gen Finder");
btn19.setOnAction(event -> new randomwordgenfinder.Main().start(new Stage()));
gridpane.add(btn19, 0, 9);
Button btn20 = new Button("Start Taschenrechner Komma");
btn20.setOnAction(event -> new taschenrechnerkomma.Main().start(new Stage()));
gridpane.add(btn20, 1, 9);
ScrollPane root = new ScrollPane(gridpane); ScrollPane root = new ScrollPane(gridpane);
Scene scene = new Scene(root, 500, 250); Scene scene = new Scene(root, 600, 400);
primaryStage.setTitle("Project Chooser"); primaryStage.setTitle("Project Chooser");
primaryStage.setScene(scene); primaryStage.setScene(scene);