Comment puis-je définir la propriété isUndoable de TextArea dans JavaFX true?

Ammar:

Je suis en train de faire un simple éditeur de texte avec JavaFX et quand je l'appelle textArea.undo () en tant que gestionnaire, même si un MenuItem est pressé, il ne fonctionne pas !. Undo fonctionnalité ne fonctionne que lorsque j'appuyez sur Ctrl + Z si je l'ai vérifié et constaté que la propriété deafult isUndoable est définie sur false! Comment puis-je changer cela?

voici mon code:

MenuItem undo = new MenuItem("Undo");
undo.setAccelerator(new KeyCodeCombination(KeyCode.Z, KeyCombination.CONTROL_DOWN));
undo.setOnAction(e -> textArea.undo());

J'ai aussi essayé le code suivant:

textArea.isUndoable() = true;

mais il est avéré que je ne peux pas faire ça!

fabian:

Cette propriété ne peut pas être réglée, car elle dépend d'une histoire interne des modifications. Vous ne pouvez pas modifier cette liste directement. Dans votre cas , l'histoire arrive juste de ne pas avoir plus d' états pour défaisant

Tout ce que vous pouvez faire est d' essayer de faire le regard de l' histoire de la façon dont vous le souhaitez à utiliser replaceText(ou d' autres méthodes d'édition utilisant) à plusieurs reprises, mais même que les changements de groupes et ne permet pas le contrôle total de l'historique des modifications.

String wrongText = "Hello Worlt";
textArea.insertText(0, wrongText);
textArea.deleteText(wrongText.length()-1, wrongText.length());
textArea.insertText(wrongText.length()-1, "d");
// now there should be 2 changes to undo

Je suppose que tu aimes

Origine http://10.200.1.11:23101/article/api/json?id=478821&siteId=1
conseillé
Classement