2 Stimmen

Wie kann man in einem Eclipse RCP-Editor fehlende Pflichtfelder am besten behandeln?

In einer Eclipse RCP-Anwendung baue ich einen Editor, in dem einige Felder obligatorisch sind.

Wenn der Benutzer den Editor mit nicht ausgefüllten Feldern speichert, wie ist dies am besten zu handhaben?

(meine erste Vermutung ist, einen Fehlerdialog anzuzeigen, wenn diese Felder in doSave()-Methode leer sind, aber ich bin nicht sicher, dass es die "Eclipse" Weg, um diese Art von Problem zu behandeln ist)

2voto

VonC Punkte 1117238

Wenn Sie ein Dialogfeld wie "Neues Java-Projekt erstellen" betrachten,

  • Sie können keine Aktion (wie "Weiter" oder "Fertig stellen") durchführen, bevor Sie das eine Pflichtfeld ("Projektname") ausgefüllt haben.
    Es ist also etwas anderes als die Überprüfung der doSave() Veranstaltung.

  • Wenn dieses Feld ungültig ist (z. B. wenn der Projektname bereits existiert), wird in der oberen Zone eine Warnung angezeigt.

  • Wenn das Feld korrekt ausgefüllt ist, dann können Sie sparen.

(Hinweis: Ich weiß, dass dies kein Editor ist, aber es kann Ihnen einen Eindruck von der Verwaltung der Pflichtfelder in Eclipse vermitteln)

Alt-Text http://ds.informatik.uni-marburg.de/MAGE/gdt/images/tutorial/NewJavaProject.png

1voto

Markus Lausberg Punkte 12030

Ich stimme VonC zu und würde die Schaltfläche "Speichern" deaktivieren, solange der Benutzer alle wichtigen Felder ausgefüllt hat. Eine Warnung, welche Felder der Benutzer ausfüllen muss, wäre sehr hilfreich.

EDIT:

Erstellen Sie eine Komponente, die sich selbst als Change Listener hinzufügt. Wenn jemand die Komponente ändert, können Sie überprüfen, ob die Eingabe korrekt ist. Erstellen Sie ein Fenster mit allen selbstüberprüfenden Komponenten und fügen Sie das Fenster als Listener zu allen Komponenten hinzu.

Wenn jemand eine Komponente ändert, können Sie direkt prüfen, ob die Eingabe gültig ist, und der Benutzer kann zur nächsten Seite wechseln oder die Seite speichern.

In RCP (Beispiel FieldEditorPreferencePage) haben viele Komponenten die Methoden doSave() und isValid(). In isValid() können Sie alle Komponenten überprüfen, die Sie im Fenster finden können, und in doSave() sollten Sie den isValid()-Status überprüfen, wenn dies nicht automatisch geschieht, und einige zusätzliche Speicheraktionen durchführen.

1voto

ftl Punkte 2946

Sie könnten FieldDecorations verwenden, um die Pflichtfelder zu markieren und eine visuelle Rückmeldung zu geben, wenn der Inhalt eines Feldes falsch ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X