vfl_freak
Premium-User
Moin,
irgendwie stehe ich gerade auf dem Schlauch ....
Ich versuche in einen Textfeld mittels "keyPressed" die Eingabe des Zeichens '@' abzufangen.
Leider schlagen sämtliche Versuche fehl
Hier mal ein Teil meiner Versuche, die ich nach längerer Webrecherche ausprobiert habe:
Auch die Prüfung auf das KeyEvent VK_AT klappt nicht ...
EDIT:
Ich habe gerade im Debugger gesehen, dass beim Drücken von ALT-GR nacheinander die KeyEvents VK_CONTROL (0x17) und VK_ALT (0x18) kommen ......
Hier die Lösung

das Ganze die "keyTyped"-Methode (!!) verlegen, von der kommt bei der ganzen Sache nur ein Event
dann das '@'' mit getKeyChar() auslesen/auswerten
dort gibt dann isAltGraphDown() auch TRUE
Gruß
Klaus
irgendwie stehe ich gerade auf dem Schlauch ....
Ich versuche in einen Textfeld mittels "keyPressed" die Eingabe des Zeichens '@' abzufangen.
Leider schlagen sämtliche Versuche fehl

Hier mal ein Teil meiner Versuche, die ich nach längerer Webrecherche ausprobiert habe:
Java:
void tfManuelleEingabe_keyPressed( KeyEvent e )
{
if( e.isAltGraphDown() ) // ist seltsamer FALSE, wenn ich die ALT GR-Taste gedrückt halte
{
if( e.getKeyCode() == KeyEvent.VK_Q )
{
e.consume();
}
}
// ------------------------------------------------------------------------------
int onmask = InputEvent.ALT_GRAPH_DOWN_MASK; // hat den Wert 0x2000
if( (e.getModifiersEx() & onmask) == onmask) // das getModifiers liefert nur 0x80 ....
{
e.consume();
}
}
EDIT:
Ich habe gerade im Debugger gesehen, dass beim Drücken von ALT-GR nacheinander die KeyEvents VK_CONTROL (0x17) und VK_ALT (0x18) kommen ......
Hier die Lösung

das Ganze die "keyTyped"-Methode (!!) verlegen, von der kommt bei der ganzen Sache nur ein Event
dann das '@'' mit getKeyChar() auslesen/auswerten
dort gibt dann isAltGraphDown() auch TRUE
Java:
/**
* @brief Die Eingabe der Taste '@' im Textfeld "Manuelle Eingabe" unterdrücken
* @param e = KeyEvent
*/
void tfManuelleEingabe_keyTyped( KeyEvent e )
{
if( e.isAltGraphDown() )
{
if( e.getKeyChar() == '@' )
{
e.consume();
}
}
} // tfManuelleEingabe_keyTyped
Gruß
Klaus
Zuletzt bearbeitet: