Hallo,
ich sitze gerade an einem AWT Texteditor dran und habe gerade bemerkt, daß On-the-fly Textmarkierungen mit Tastaur/Maus anscheinend nicht von Java registriert werden. Wenn ich also etwas Text markiere, dann "bemerkt" Java das mittels getSelectionStart() & Co. erst dann, wenn ich ein ActionEvent auslöse und mir die Ergebnisse der Methoden auf der Statuszeile des Fensters ausgeben lasse.
On-the-fly dagegen ist Java taub und blind. Was aber zum Teufel bringen mir informative Markierungsmethoden, wenn die Werte nicht zur Markierungszeit ermittelt werden können? Das kann's ja wohl nicht sein...
Hintergrund ist der, daß ich im Editmenü Cut, Copy und Paste erst dann via setEnable() freischalten möchte, wenn a) Text vorhanden ist UND b) der User gerade was selektiert hat. Das Dumme ist wie gesagt nur, daß Java das in keinster Weise abrafft, wenn der User was markiert. Ich will ja niemanden zumuten, erstmal nen Button ect. anzuklicken, damit Java aufwacht und merkt, daß Text markiert worden ist...
Ich dachte schon an komplizierte KeyEvent Abfragen aus der TextArea, aber das ist ja mehr Aufwand als sonstwas! Es muß doch irgendwie möglich sein, on-the-fly Markierungen von Text durch Java überwachen zu lassen, oder nicht?
Wäre für Gegenmaßnahmen aller Art sehr dankbar
PS: OS ist XP Professional und JDK ist 1.6 beta, falls das von Bedeutung sein sollte.
ich sitze gerade an einem AWT Texteditor dran und habe gerade bemerkt, daß On-the-fly Textmarkierungen mit Tastaur/Maus anscheinend nicht von Java registriert werden. Wenn ich also etwas Text markiere, dann "bemerkt" Java das mittels getSelectionStart() & Co. erst dann, wenn ich ein ActionEvent auslöse und mir die Ergebnisse der Methoden auf der Statuszeile des Fensters ausgeben lasse.
On-the-fly dagegen ist Java taub und blind. Was aber zum Teufel bringen mir informative Markierungsmethoden, wenn die Werte nicht zur Markierungszeit ermittelt werden können? Das kann's ja wohl nicht sein...
Hintergrund ist der, daß ich im Editmenü Cut, Copy und Paste erst dann via setEnable() freischalten möchte, wenn a) Text vorhanden ist UND b) der User gerade was selektiert hat. Das Dumme ist wie gesagt nur, daß Java das in keinster Weise abrafft, wenn der User was markiert. Ich will ja niemanden zumuten, erstmal nen Button ect. anzuklicken, damit Java aufwacht und merkt, daß Text markiert worden ist...
Ich dachte schon an komplizierte KeyEvent Abfragen aus der TextArea, aber das ist ja mehr Aufwand als sonstwas! Es muß doch irgendwie möglich sein, on-the-fly Markierungen von Text durch Java überwachen zu lassen, oder nicht?
Wäre für Gegenmaßnahmen aller Art sehr dankbar
PS: OS ist XP Professional und JDK ist 1.6 beta, falls das von Bedeutung sein sollte.