summaryrefslogtreecommitdiff
path: root/Java-Kompendium/kap17/src/main/java/Hauptfenster.java
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-12-01 14:14:57 +0100
committerEugen Wissner <belka@caraus.de>2025-12-01 14:14:57 +0100
commit2da137aea85e4aab48d5df5389da609720f2acb9 (patch)
tree59a3df3f710f9e9b82dd0d49658c27c391018270 /Java-Kompendium/kap17/src/main/java/Hauptfenster.java
parenta680b83e47a283106dee9557c5c9ee5dc175551e (diff)
downloadbook-exercises-2da137aea85e4aab48d5df5389da609720f2acb9.tar.gz
Add chapters 9-17 for the java book
Diffstat (limited to 'Java-Kompendium/kap17/src/main/java/Hauptfenster.java')
-rw-r--r--Java-Kompendium/kap17/src/main/java/Hauptfenster.java104
1 files changed, 104 insertions, 0 deletions
diff --git a/Java-Kompendium/kap17/src/main/java/Hauptfenster.java b/Java-Kompendium/kap17/src/main/java/Hauptfenster.java
new file mode 100644
index 0000000..48839e5
--- /dev/null
+++ b/Java-Kompendium/kap17/src/main/java/Hauptfenster.java
@@ -0,0 +1,104 @@
+import java.sql.*;
+
+import javafx.application.Application;
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+import javafx.geometry.HPos;
+import javafx.geometry.Insets;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.layout.GridPane;
+import javafx.scene.text.Font;
+import javafx.scene.text.FontWeight;
+import javafx.scene.text.Text;
+import javafx.stage.Stage;
+
+public class Hauptfenster extends Application {
+ @Override
+ public void start(Stage stage) throws SQLException {
+ String host = "jdbc:hsqldb:mem:mitarbeiter";
+
+ Connection verbindung = DriverManager.getConnection(host);
+ Statement befehl = verbindung.createStatement();
+ String SQL = """
+ CREATE TABLE Mitarbeiter (
+ persnr INTEGER Primary Key Not Null,
+ name VARCHAR(30),
+ vorname VARCHAR(30),
+ gehalt DECIMAL(9,2)
+ )
+ """;
+ befehl.executeUpdate(SQL);
+
+ GridPane grid = new GridPane();
+ grid.setAlignment(Pos.CENTER);
+ grid.setHgap(30);
+ grid.setVgap(50);
+ grid.setPadding(new Insets(20, 20, 20, 20));
+ stage.setTitle("Personalverwaltung");
+ Text titel = new Text("Wählen Sie eine Aktion aus:");
+ titel.setFont(Font.font("Arial", FontWeight.BOLD, 14));
+ grid.add(titel, 0, 0, 2, 1);
+
+ ButtonHinzufuegen btn1 = new ButtonHinzufuegen("Mitarbeiter hinzufügen");
+ grid.add(btn1, 0, 1);
+ btn1.setPrefSize(200, 50);
+
+ ButtonEntfernen btn2 = new ButtonEntfernen("Mitarbeiter entfernen");
+ grid.add(btn2, 1, 1);
+ btn2.setPrefSize(200, 50);
+
+ ButtonGehalt btn3 = new ButtonGehalt("Gehalt anpassen");
+ grid.add(btn3, 0, 2);
+ btn3.setPrefSize(200, 50);
+
+ ButtonAnzeigen btn4 = new ButtonAnzeigen("Personal anzeigen");
+ grid.add(btn4, 1, 2);
+ btn4.setPrefSize(200, 50);
+
+ Button btn5 = new Button("OK");
+ grid.add(btn5, 0, 3, 2, 1);
+ btn5.setPrefSize(100, 20);
+ GridPane.setHalignment(btn5, HPos.CENTER);
+
+ btn1.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ btn1.neuesFenster(stage);
+ }
+ });
+ btn2.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ btn2.neuesFenster(stage);
+ }
+ });
+ btn3.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ btn3.neuesFenster(stage);
+ }
+ });
+ btn4.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ btn4.neuesFenster(stage);
+ }
+ });
+ btn5.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ stage.close();
+ }
+ });
+
+ Scene scene = new Scene(grid, 600, 400);
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static void main(String[] args) {
+ launch(args);
+ }
+}