Page 1 of 1

Erläutern Sie den Code in der Zelle, der Bearbeiten auf den Fokusverlust in Javafx absagt

Posted: 07 Apr 2025, 00:14
by Anonymous
Bitte betrachten Sie den folgenden Code von javafx.scene.control.cell (Link):

Code: Select all

super.focusedProperty().addListener(new InvalidationListener() {
@Override public void invalidated(Observable property) {
pseudoClassStateChanged(PSEUDO_CLASS_FOCUSED, isFocused()); // TODO is this necessary??

// The user has shifted focus, so we should cancel the editing on this cell
if (!isFocused() && isEditing()) {
cancelEdit();
}
}
});
< /code>
Dieser Code (wie ich verstehe) storniert Bearbeiten, wenn die Zelle unkonzentriert wird.  Wenn die Zelle jedoch bearbeitbar ist, können wir davon ausgehen, dass sie eine weitere Steuerung im Inneren hat, z. B. Textfield 
. Und entsprechend dem obigen Code, wenn dieses Textfeld fokussiert wird und dann storniert wird passieren. Könnte es jemand erklären? Was ist die Magie hier?