Drücken der ALT-Taste wird nur bei jedem zweiten Mal erkannt

kodela

Bekanntes Mitglied
Hallo,

dieses Thema gibt es bereits, erstellt 2008 und mittlerweile geschlossen.

Ich will nach einem Mausklick abfragen, ob die Alt-Taste gedrückt ist. Da offensichtlich das Drücken der Alt-Taste vom System für das Menü abgefragt wird, bekomme ich erst nach einem zweiten Mausklick, vorausgesetzt die Alt-Taste ist immer noch gedrückt, die gewünschte Information.

Weiß jemand, wie ich erreichen kann, dass bereits beim ersten Mausklick der Zustand der Alt-Taste richtig angezeigt wird?

MfG, kodela
 

VfL_Freak

Top Contributor
Moin,

es gibt IMHO zwei Möglichkeiten!
Zum einen im KeyListener - bspw.:
Java:
/**
 * @brief Die Eingabe der Taste '@' im Textfeld "Manuelle Eingabe" unterdrücken
 * @param e = KeyEvent
*/
void myTextField_Eingabe_keyTyped( KeyEvent e )
{
      if( e.isAltDown() )  // 'isAltDown' kommt aus "InputEvent" !!
      {
           if( e.getKeyChar() == '@' )
           {
               e.consume();
           }
      }
}

oder mittels getKeyStroke - bspw.:
Java:
mnuNotizbuch.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.ALT_MASK) );  // erkennt <ALT> <N> !!

VG Klaus
 

kodela

Bekanntes Mitglied
Hallo Klaus,

die erste Variante habe ich heute ausprobiert. Sie funktioniert. Allerdings habe ich dann mit der Ctrl-Taste ein Problem. In manchen Fällen muss ich jetzt sie zweimal anklicken, wenn ich sie im Anschluss an die Alt-Taste verwende. Eigenartiger Weise wird, wenn ich die Alt-Taste los lasse, in manchen nicht reproduzierbaren Fällen das Menü aktiviert, wie es sonst der Fall ist, wenn man die Alt-Taste drückt. Das passiert nicht, wenn ich die Abfrage "if (evt.getKeyChar() == '@')" weglasse. Allerdings kann man dann über die Alt-Taste das Menü nicht mehr aktivieren, was ich nicht möchte.

Zum Verständnis eine kurze Erklärung zum Hintergrund:

Ich versuche eben mein Sudoku-Programm für Str8ts umzustellen. Bei der manuellen Eingabe oder Bearbeitung eines Sudokus habe ich für die Eingabe und Veränderung im Maus-Modus die Ctrl-Taste für die Werte und die Shift-Taste für die Kandidaten verwendet.

Bei den Str8ts kommen nun schwarze Zellen hinzu und sie sollen über die Maus bei gedrückter Alt-Taste gesetzt bzw. gelöscht werden können.

MfG, kodela
 

VfL_Freak

Top Contributor
Moin,
Sie funktioniert. Allerdings habe ich dann mit der Ctrl-Taste ein Problem. In manchen Fällen muss ich jetzt sie zweimal anklicken, wenn ich sie im Anschluss an die Alt-Taste verwende. Eigenartiger Weise wird, wenn ich die Alt-Taste los lasse, in manchen nicht reproduzierbaren Fällen das Menü aktiviert, wie es sonst der Fall ist, wenn man die Alt-Taste drückt. Das passiert nicht, wenn ich die Abfrage "if (evt.getKeyChar() == '@')" weglasse. Allerdings kann man dann über die Alt-Taste das Menü nicht mehr aktivieren, was ich nicht möchte.
hmm, so ganz hab ich nicht verstanden, was Du uns damit sagen möchtest :(
Das oben war natürlich nur EIN Beispiel (hier für die Verwendung von <ALT><@>). Es gibt natürlich auch ein 'isControlDown', müsstest Du ggf. auch abfragen!

Aber vielleicht solltest Du mal Deinen Code posten - zu dieser Rumraterei habe ich nämlich keine Lust :mad:

VG Klaus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Taste Drücken Allgemeine Java-Themen 4
T Möglichkeit um eine Taste zu drücken? Allgemeine Java-Themen 2
L Nach Button drücken den Text festspeichern Allgemeine Java-Themen 9
A Button drücken Allgemeine Java-Themen 3
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
F WebBrowser Button automatisch drücken Allgemeine Java-Themen 5
T KeyListener lässt sich nur einmal drücken Allgemeine Java-Themen 2
M Java Aufforderung Eingabetaste drücken Allgemeine Java-Themen 2
E JTidy html "hidden" Button drücken Allgemeine Java-Themen 7
P Button automatisch drücken Allgemeine Java-Themen 5
ElViZ HTML-Button mit Java "drücken" lassen? Allgemeine Java-Themen 3
MQue Auslösen eines Events beim Drücken eines Buttons Allgemeine Java-Themen 12
MQue HintergrundFarbe des Buttons beim drücken soll bleiben Allgemeine Java-Themen 2
MQue Button Event beim drücken und beim auslassen Allgemeine Java-Themen 7
B Vermeiden das JButton schneller hintereinander drücken Allgemeine Java-Themen 3
G Tasten a-z automatisch drücken Allgemeine Java-Themen 2
kodela Event Handling Problem mit der Alt-Taste Allgemeine Java-Themen 16
Sogomn Thread blocken bis Taste gedrückt Allgemeine Java-Themen 5
G while Schleife ausführen solange eine Taste gedrückt ist Allgemeine Java-Themen 14
R gedrückte Taste Allgemeine Java-Themen 6
Guybrush Threepwood Warten, bis keine Taste gedrückt Allgemeine Java-Themen 11
DStrohma [Erledigt] Wieso kann ich Taste 'ENTER' in JTable nicht belegen? Allgemeine Java-Themen 2
M Enter Taste in Konsole abfragen Allgemeine Java-Themen 2
G default button für enter taste Allgemeine Java-Themen 3
0 Taste setzen Allgemeine Java-Themen 2
G mit taste bestätigen Allgemeine Java-Themen 10
reibi Aktion Taste gedrückt abfangen Allgemeine Java-Themen 9
TheJavaKid Taste definieren Allgemeine Java-Themen 12
A bestimmte Taste an Server verschicken Allgemeine Java-Themen 11
G Enter-Taste simulieren Allgemeine Java-Themen 14
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Y MVVM wie wird Eventhandler tausch geregelt Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
N Eingabe wird immer als "false" ausgegeben Allgemeine Java-Themen 6
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
M Frage-Antwortspiel wie Wer wird Millionär Allgemeine Java-Themen 1
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
hello_autumn Java_Home geändert auf Java 13, trotzdem wird Java Version 8 angezeigt. Allgemeine Java-Themen 2
Thallius Char +1 wird int? Allgemeine Java-Themen 7
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
F Scrollbar wird nicht angezeigt Allgemeine Java-Themen 0
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
I Temp-Datei wird nicht gelöscht Allgemeine Java-Themen 12
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
S Wird bei den JREs 9, 10, 11+ ueberhaupt noch Bytecode ausgefuehrt..? Allgemeine Java-Themen 8
FRI3ND JFrame wird nicht angezeigt Allgemeine Java-Themen 3
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
S Datei wird nicht gefunden Thread.currentThread().getContextClassLoader().getResourceAsStream() Allgemeine Java-Themen 1
mrbig2017 Sleep wird ignoriert und der Thread wartet nicht Allgemeine Java-Themen 1
mrbig2017 Threads wait wird nicht durch notify beendet! Allgemeine Java-Themen 3
kodela Klassen Klassenvariable wird nicht gesetzt Allgemeine Java-Themen 23
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
Arif Input/Output Serialisierung - Datei wird nicht erzeugt Allgemeine Java-Themen 3
D Cursor unsichtbar, wenn Kontextmenü aufgerufen wird Allgemeine Java-Themen 5
K Arbeitsspeicher wird langsam voll Allgemeine Java-Themen 6
The Pi Wie oft wird ein Buchstabe in einem Wort wiederholt? Allgemeine Java-Themen 16
N Datentypen If-Statement wird "übersprungen" Allgemeine Java-Themen 2
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
T Textarea text wird immer überschrieben Allgemeine Java-Themen 4
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
T Java wird nicht gefunden Allgemeine Java-Themen 32
Tacofan GIF-Bild wird "zerstört" Allgemeine Java-Themen 3
Z Exception wird nicht ausgelöst Allgemeine Java-Themen 2
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
B Threads Timer wird immer schneller Allgemeine Java-Themen 6
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
E Java wird beendet nach paar Sekunden Allgemeine Java-Themen 14
U Erkennen, ob PC benutzt wird Allgemeine Java-Themen 4
O Programm wird einfach "gekillt" Allgemeine Java-Themen 3
P Prüfen ob es Variable mit Namen gibt der als String übergeben wird Allgemeine Java-Themen 7
P Zwei ArrayLists: Ohne die eine überhaupt anzurühren, wird sie verändert Allgemeine Java-Themen 2
B Abfragenteil wird nicht aufgerufen Allgemeine Java-Themen 2
Todesbote JFileChooser im Vordergrund (*.jar wird mittels shell_exec in PHP aufgerufen) Allgemeine Java-Themen 1
T Sicherheitshinweis - Zertifikat wird angefordert Allgemeine Java-Themen 5
L SetBounds wird vor dem Konstruktorcode aufgerufen - Wenn Startleiste links Allgemeine Java-Themen 1
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
I CountDown wird durch JOptionPane unterbrochen Allgemeine Java-Themen 11
P Wird double und float auf jedem Computer gleich berechnet? Allgemeine Java-Themen 10
G Tabelle wird nicht richtig dargestellt Allgemeine Java-Themen 9
HarleyDavidson Threads ProgressMonitor wird nicht angezeigt! Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben