Ich stehe bei einer vermeintlich simplen Aufgabe total auf dem Schlauch und bräuchte ein wenig Starthilfe von euch 😅 🤔
Hier einmal die Aufgabenstellung:
Erstellen Sie einen universellen Dialog für JavaFX, in dem der Anwender eine beliebige Frage mit Ja oder Nein beantworten kann. Leiten Sie dazu eine eigene Klasse von der Klasse Alert ab. Die Texte im Dialog sollen über Argumente festgelegt werden.
Stellen Sie sicher, dass Sie die Antwort des Anwenders in Ihrem Code auswerten können. Der Dialog muss also einen Rückgabewert zur Verfügung stellen. Wie Sie dabei vorgehen, ist Ihnen freigestellt.
Ob Sie für die Lösung den neuen Dialog in den Editor aus diesem Studienheft einbauen oder eine eigene Anwendung erstellen, die nur den Dialog anzeigt und die Rückgabe auswertet, ist Ihnen freigestellt.
Einige Hinweise zur Lösung:
Einen Standarddialog für eine Bestätigung erhalten Sie mit dem Typ AlertType.CONFIRMATION.
Den Text in der Titelleiste des Dialogs können Sie über die Methode setTitle() festlegen.
Die Schaltflächen im Dialog können Sie über den Konstruktor festlegen. Dazu übergeben Sie Argumente vom Typ ButtonType. Der Wert ButtonType.YES steht zum Beispiel für eine Schaltfläche mit dem Text „Ja“ und der Wert ButtonType.NO für eine Schaltfläche mit dem Text „Nein“.
Die angeklickte Schaltfläche erhalten Sie über die Methode getResult(). Sie liefert einen Wert vom Typ ButtonType zurück.
Nun ging ich eigentlich davon aus, ich würde das direkt hinbekommen, aber das mit der eigenen Klasse und von Alert ableiten und was dabei raus kommt verwirrt mich dann doch. Ich habe nun eine Klasse erstellt. Diese leite ich wie gewünscht von Alert ab, dann bringt er mir 2 Möglichkeiten für den Konstruktor. Ich wähle den mit 3 Argumenten, da es ja heißt die Inhalte sollen über Argumente erfolgen. Nun weiß ich aber nicht wirklich weiter. Ohne diese Posten hätte ich den Dialog einfach so erstellt:
Aktuell steht noch nichts dort außer:
Hier einmal die Aufgabenstellung:
Erstellen Sie einen universellen Dialog für JavaFX, in dem der Anwender eine beliebige Frage mit Ja oder Nein beantworten kann. Leiten Sie dazu eine eigene Klasse von der Klasse Alert ab. Die Texte im Dialog sollen über Argumente festgelegt werden.
Stellen Sie sicher, dass Sie die Antwort des Anwenders in Ihrem Code auswerten können. Der Dialog muss also einen Rückgabewert zur Verfügung stellen. Wie Sie dabei vorgehen, ist Ihnen freigestellt.
Ob Sie für die Lösung den neuen Dialog in den Editor aus diesem Studienheft einbauen oder eine eigene Anwendung erstellen, die nur den Dialog anzeigt und die Rückgabe auswertet, ist Ihnen freigestellt.
Einige Hinweise zur Lösung:
Einen Standarddialog für eine Bestätigung erhalten Sie mit dem Typ AlertType.CONFIRMATION.
Den Text in der Titelleiste des Dialogs können Sie über die Methode setTitle() festlegen.
Die Schaltflächen im Dialog können Sie über den Konstruktor festlegen. Dazu übergeben Sie Argumente vom Typ ButtonType. Der Wert ButtonType.YES steht zum Beispiel für eine Schaltfläche mit dem Text „Ja“ und der Wert ButtonType.NO für eine Schaltfläche mit dem Text „Nein“.
Die angeklickte Schaltfläche erhalten Sie über die Methode getResult(). Sie liefert einen Wert vom Typ ButtonType zurück.
Nun ging ich eigentlich davon aus, ich würde das direkt hinbekommen, aber das mit der eigenen Klasse und von Alert ableiten und was dabei raus kommt verwirrt mich dann doch. Ich habe nun eine Klasse erstellt. Diese leite ich wie gewünscht von Alert ab, dann bringt er mir 2 Möglichkeiten für den Konstruktor. Ich wähle den mit 3 Argumenten, da es ja heißt die Inhalte sollen über Argumente erfolgen. Nun weiß ich aber nicht wirklich weiter. Ohne diese Posten hätte ich den Dialog einfach so erstellt:
Java:
Alert meinDialog = new Alert(AlertType.CONFIRMATION, "Hier würde eine Frage stehen", ButtonType.YES, ButtonType.NO);
Aktuell steht noch nichts dort außer:
Java:
package de.fernschulen;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
public class DialogKlasse extends Alert {
public DialogKlasse(AlertType arg0, String arg1, ButtonType[] arg2) {
super(arg0, arg1, arg2);
}
}