Hallo liebes Forum,
benutze für User-Eingaben einen TextInputDialog. Funktioniert soweit. Der Inhalt wird in meiner ListView angezeibt. Aber für besseren Benutzer-Exprerience möchte ich, dass beim showAndWait() aufruf, dass der Focus sofort auf dem Eingabefeld ist. Der User soll nicht separat darauf klicken müssen. Und wenn User auf OK geklickt hat, soll sich das Feld automatisch leeren, falls der User wieder etwas eingeben möchte, soll er ein blankes Feld haben.
Mein Code sieht folgendermaßen aus:
Ich habe viel experimentiert und viel gelesen, aber leider nichts gefunden. Soll ich vielleicht anstatt des TextInputDialogs was anderes nehmen, was einfacher zu nutzen ist? Oder ist das hier auch relativ einfach zu machen. ein setFocus() in der Form klappt nicht und ein setContenText("") leider auch nicht.
benutze für User-Eingaben einen TextInputDialog. Funktioniert soweit. Der Inhalt wird in meiner ListView angezeibt. Aber für besseren Benutzer-Exprerience möchte ich, dass beim showAndWait() aufruf, dass der Focus sofort auf dem Eingabefeld ist. Der User soll nicht separat darauf klicken müssen. Und wenn User auf OK geklickt hat, soll sich das Feld automatisch leeren, falls der User wieder etwas eingeben möchte, soll er ein blankes Feld haben.
Mein Code sieht folgendermaßen aus:
Java:
public class WorkIncome {
private MyObjects myObjects;
private ObservableList<String> itemList;
private TextInputDialog inputDialog;
private Optional<String> userInput;
public WorkIncome(MyObjects object) {
myObjects = object;
itemList = FXCollections.observableArrayList();
inputDialog = new TextInputDialog();
inputDialog.setHeaderText("Wie soll der Einkommensposten heißen?");
inputDialog.setContentText("Name:");
//setItems();
}
public void getUserInput() {
inputDialog.getDialogPane().requestFocus();
inputDialog.getDialogPane().setFocusTraversable(true);
inputDialog.setContentText(" ");
userInput = inputDialog.showAndWait();
userInput.ifPresent(value -> {itemList.add(value);});
myObjects.getIncomeListView().setItems(itemList);
}
}//end class
Ich habe viel experimentiert und viel gelesen, aber leider nichts gefunden. Soll ich vielleicht anstatt des TextInputDialogs was anderes nehmen, was einfacher zu nutzen ist? Oder ist das hier auch relativ einfach zu machen. ein setFocus() in der Form klappt nicht und ein setContenText("") leider auch nicht.