AWT TextField Problem
-
Hallo,
wir haben folgendes Problem:
Wir müssen in der Firma JDK 1.1.8 benutzen Und nur die AWT Bibliotheken
Falls die Textfelder nicht editierbar sind, dann dürfen wir
nicht die Methode setEnabled(false) benutzen, sondern setEditable, weil
beim Aufruf der Methode setEnabled(false) die Texte auf hellgrau gesetzt werden!
Der Fachdienst will, dass die Texte trotzdem schwarz bleiben.Da wir nicht die Methode setEnabled(false) aufrufen dürfen, bekommen die Textfelder
durch den Maus den Focus. Wir haben folgendes probiert, aber ohne Erfolg:protected void processEvent(AWTEvent e)
{
//sorgt dafür, dass ein inaktives/disabeltes Feld per Maus nicht den Focus erhalten kannif (e instanceof MouseEvent && (!isEditable() || !super.isEditable())) {
((MouseEvent) e).consume();
return;
}Wie kann man dieses Verhalten verhindern??
Vielen Dank im Voraus
-
moin
dann benutzt doch trotzdem die setEnable(false) Methode und danach setzt ihr einfach die Schriftfarbe auf schwarz. Probier das mal mit setColor oder so.
Es könnt aber auch sein das es eine Methode gibt die die Farbe eines Deaktivieren Textfeldes bestimmt, weiß aber nicht wie die Methode heißt.Schau mal in dem Referenzen von Sun nach.
-
Danke fuer Deine Antwort
-
Vielleicht könnte man auch eine Klasse vom TextField ableiten und die focusGained-Methode überschreiben? Wenn nicht, kannst du´s ja per setForeground(Color c) machen, wie de_Bert ja schon sagte.
-
Besser wäre einfach ein Klasse von TextField ableiten und setEnabled(boolean) zu überschreiben. Superklassenmethode aufrufen und Schriftfarbe auf schwarz setzen, dann geht's.
-
Guten Abend
destruct0r schrieb:
Besser wäre einfach ein Klasse von TextField ableiten und setEnabled(boolean) zu überschreiben. Superklassenmethode aufrufen und Schriftfarbe auf schwarz setzen, dann geht's.
das ist ja kaum umständlich und für einen Anfänger nur schwer zu verstehen.
Ich meine wofür stellt Sun die Methoden zur verfügen??? Damit man jedes mal die Klasse ableitet und das Rad jedesmal neu erfindet???