summaryrefslogtreecommitdiff
path: root/Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java
diff options
context:
space:
mode:
Diffstat (limited to 'Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java')
-rw-r--r--Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java89
1 files changed, 89 insertions, 0 deletions
diff --git a/Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java b/Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java
new file mode 100644
index 0000000..702b516
--- /dev/null
+++ b/Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java
@@ -0,0 +1,89 @@
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+import javafx.geometry.Insets;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.layout.GridPane;
+import javafx.stage.Stage;
+import javafx.stage.Modality;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.text.Text;
+import javafx.scene.text.Font;
+import javafx.scene.text.FontWeight;
+import java.sql.*;
+
+public class ButtonEntfernen extends Button {
+ public ButtonEntfernen(String text) {
+ super(text);
+ }
+
+ public void neuesFenster(Stage hauptfenster) {
+ GridPane grid = new GridPane();
+ grid.setAlignment(Pos.CENTER);
+ grid.setHgap(10);
+ grid.setVgap(10);
+ grid.setPadding(new Insets(10, 10, 10, 10));
+ Scene scene = new Scene(grid, 400, 300);
+ Stage neuesFenster = new Stage();
+ neuesFenster.setTitle("Mitarbeiter entfernen");
+ neuesFenster.setScene(scene);
+ neuesFenster.initModality(Modality.WINDOW_MODAL);
+ neuesFenster.initOwner(hauptfenster);
+ neuesFenster.setX(hauptfenster.getX() + 50);
+ neuesFenster.setY(hauptfenster.getY() + 50);
+
+ Text titel = new Text("Geben Sie die Personalnummer des Mitarbeiters ein:");
+ titel.setFont(Font.font("Arial", FontWeight.NORMAL, 14));
+ grid.add(titel, 0, 0, 2, 1);
+
+ Label persnr = new Label("Personalnummer:");
+ grid.add(persnr, 0, 1);
+ TextField eingabePersnr = new TextField();
+ grid.add(eingabePersnr, 1, 1);
+
+ Button btnEntf = new Button("Mitarbeiter entfernen");
+ grid.add(btnEntf, 0, 5);
+ neuesFenster.show();
+
+ btnEntf.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ int persnr = -1;
+ boolean richtigeEingabe = false;
+ try {
+ persnr = Integer.parseInt(eingabePersnr.getText());
+ richtigeEingabe = true;
+ } catch (NumberFormatException Ausnahme) {
+ Hinweis.ausgeben(hauptfenster, "Fehlerhafte Eingabe");
+ }
+ if (richtigeEingabe) {
+ String host = "jdbc:hsqldb:mem:mitarbeiter";
+
+ try {
+ Connection verbindung = DriverManager.getConnection(host);
+ Statement befehl = verbindung.createStatement();
+
+ String SQL = "SELECT name FROM Mitarbeiter WHERE persnr = " + persnr;
+ ResultSet rs = befehl.executeQuery(SQL);
+ int zaehler = 0;
+ while (rs.next()) {
+ zaehler++;
+ }
+ if (zaehler > 0) {
+ SQL = "DELETE FROM Mitarbeiter WHERE persnr = " + persnr;
+ befehl.executeUpdate(SQL);
+ Hinweis.ausgeben(hauptfenster, "Mitarbeiter erfolgreich entfernt.");
+ neuesFenster.close();
+ } else {
+ Hinweis.ausgeben(hauptfenster, "Personalnummer nicht vorhanden");
+ }
+ } catch (SQLException err) {
+ System.out.println(err.getMessage());
+ }
+ }
+ }
+ });
+ }
+}