diff options
Diffstat (limited to 'Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java')
| -rw-r--r-- | Java-Kompendium/kap17/src/main/java/ButtonEntfernen.java | 89 |
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()); + } + } + } + }); + } +} |
