Ich habe eine JCheckBox
, die vom Benutzer nicht überprüft werden sollte, wenn ein bestimmtes anderes Feld leer ist.Die beste Methode zum Implementieren der Ablehnung einer Wertänderung durch den Benutzer in Swing?
So jetzt möchte ich ein Fehler-Popup haben und dann das Kontrollkästchen zurücksetzen (ich habe in Betracht gezogen, das Kontrollkästchen zu deaktivieren, aber die Verbindung zu dem anderen Feld ist nicht offensichtlich, und ein Tooltip-Text IMO nicht sichtbar genug).
Was ist der richtige Weg, das in Swing zu tun? Durch eine PropertyVetoException
? Wohin werfe ich es und wo fange ich es? Meine erste (wahrscheinlich hässliche) Idee wäre, eine ChangeListener
hinzuzufügen, die selbst das Popup anzeigt und den Wert zurücksetzt.
Bearbeiten: Die Frage ist über Nikki (Screenshot unten), eine App, die ich entwickle, die geotags Bilder und exportiert sie in Google Earth KMZ-Format. Das Kontrollkästchen wird verwendet, um die Bilder auszuwählen, die beim Export berücksichtigt werden sollen. Dies erfordert jedoch, dass die Bilder zuerst markiert werden (was wiederum entweder einen Zeitstempel oder eine manuelle Zuweisung erfordert). Ich denke nicht, dass diese Anforderung durch das UI-Layout offensichtlich gemacht werden kann.
alt text http://www.brazzy.de/nikki/screenshot_nikki.png
Das klingt wie ein schlechtes UI-Design, wenn die Verbindung zwischen den beiden Formularelementen nicht offensichtlich ist. Wenn die Verfügbarkeit direkt von der anderen abhängt, warum sind sie nicht nebeneinander? –
@Conspicuous Compiler: siehe bearbeiten; Ich denke nicht, dass das wirklich möglich ist; selbst wenn sie nebeneinander waren, ist die Anforderung nicht offensichtlich –