Shift Modifier zur Laufzeit ermitteln

hdi

Top Contributor
Hey,

Per setMnemonicKey(int) kann man ja ein Tastenkürzel für das ActionEvent auf einer Komponente einführen. Dieses muss zusammen mit einer anderen speziellen Taste (Shift Modifier) gedrückt werden. Laut Doc ist der Shift Modifier vom L&F abhängig:

The mnemonic is the key which when combined with the look and feel's mouseless modifier (usually Alt) will activate this button if focus is contained somewhere within this button's ancestor window.

Die Frage: Wie kann ich den konkreten Wert, d.h. die Taste für den Modifier zur Laufzeit ermitteln? Weiterhin in der Doc:

@beaninfo
bound: true attribute: visualUpdate true description: the keyboard character mnemonic

Komm ich darüber da dran? Ich weiß grad nicht so recht über welche Klasse ich das auslesen könnte.
 
Zuletzt bearbeitet:

hdi

Top Contributor
UIManager.getDefaults().get("Menu.shortcutKeys")
Gibt mir ne null-Referenz?! Ich verwende das Nimbus L&F. Hab in den Properties auch schon nach dem Wert 18 gesucht - das entspricht nämlich dem Wert von KeyEvent.VK_ALT. Aber habe nichts gefunden.

Ich möchte einem DAU (zB in einem Tooltip, oder einer Help-Seite) erklären dass er gewisse Buttons o.ä. eben auch über die Tastatur ansteuern kann, und zwar mit <Shift Modifier> + dem unterstrichenen Buchstaben. Denn auf diese Idee kommen nur "erfahrene" PC-Nutzer. Aber ich muss aufpassen dass ich nicht ALT reinschreib wenn das u.U. bei des User's OS oder dem konkreten L&F gar nicht so ist..
 

hdi

Top Contributor
Also ich hab das mit der Property nochmal versucht. Vor dem Wechsel zum Nimbus L&F wird nicht null returned, sondern ein int-Array mit einem int-Wert, nämlich der 8. Das aber find ich komisch, da der Trigger bei mir eben die ALT-Taste ist, und das ist der Wert 18 (KeyEvent.VK_ALT).

Wenn sonst keiner ne Idee hat, können bitte ein paar Leute folgendes KSKB ausführen:

Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Test {

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {

			@Override
			public void run() {

				JFrame f = new JFrame();
				f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

				JButton b = new JButton("Hit me with ? + H");
				b.setMnemonic(KeyEvent.VK_H);
				b.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent e) {
						System.out.println("Button hit!");
					}
				});

				f.add(b);
				f.pack();
				f.setVisible(true);

			}
		});
	}
}

Und mir dann sagen ob es bei ihnen auch mit ALT+H funktioniert, oder ob es ne andere Taste ist. Am besten wär's wenn's jemand mit Linux und noch jemand mit MacOS testen kann. Wär zwar nur erstmal ne Notlösung, aber solange ich nicht weiß wie ich das wirklich zur Laufzeit bestimmen kann würd's mich zumindest beruhigen wenn es bei allen die ALT-Taste ist.

Dankeschön!!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Swing Horizontales Scrollen mit Shift-Mausrad AWT, Swing, JavaFX & SWT 2
A Shift-Tab-Event auslösen AWT, Swing, JavaFX & SWT 5
1 Java.awt.Robot Problem beim Shift-Druck AWT, Swing, JavaFX & SWT 5
R JTable mehrere Zellen mit Shift selektieren AWT, Swing, JavaFX & SWT 2
G Shift + Ende auf JTable AWT, Swing, JavaFX & SWT 2
M DropTargetDropEvent - Modifier Keys herausfinden AWT, Swing, JavaFX & SWT 4
H JButton: Mnemonic ohne modifier? AWT, Swing, JavaFX & SWT 3
0 Ist "sequence.fallback" aus den font.properties zur Laufzeit änderbar AWT, Swing, JavaFX & SWT 0
Davee JavaFX ListView = null wenn ich sie in Laufzeit ändern will! AWT, Swing, JavaFX & SWT 16
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
S JavaFX ListView Inhalte während Laufzeit ändern AWT, Swing, JavaFX & SWT 23
Neumi5694 Schriftgröße zur Laufzeit AWT, Swing, JavaFX & SWT 4
D JavaFX Internationalisierung zur Laufzeit AWT, Swing, JavaFX & SWT 7
MaxG. Swing Swing Komponenten zur Laufzeit hinzufügen AWT, Swing, JavaFX & SWT 2
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
T JComponents zur Laufzeit auf JPanel darstellen AWT, Swing, JavaFX & SWT 10
M JavaFX Progressbar bar und track Komponente zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
B 3D-Grafik Java 3D Licht während Laufzeit ändern AWT, Swing, JavaFX & SWT 0
Joew0815 Dropdown meue während der Laufzeit ändern. AWT, Swing, JavaFX & SWT 6
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
U Swing JTextField zur Laufzeit auf Eingaben prüfen AWT, Swing, JavaFX & SWT 0
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
SimonRap Swing JFrame Größe zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
A Panels in JavaFX zur Laufzeit erzeugen AWT, Swing, JavaFX & SWT 5
K Panel zu Laufzeit ändern AWT, Swing, JavaFX & SWT 6
D Änderungen einer Card des CardLayouts zur Laufzeit AWT, Swing, JavaFX & SWT 6
S Swing Tabelleneigenschaften zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
S Swing Frame und Klasse extends JPanel - Komponenten zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 18
S GUI per XML zur Laufzeit laden AWT, Swing, JavaFX & SWT 5
R LookAndFeel LAF zur Laufzeit umschalten AWT, Swing, JavaFX & SWT 6
darekkay Swing Komponente zur Laufzeit neuinitialisieren AWT, Swing, JavaFX & SWT 6
C Swing Toolbar zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 5
H JFrame in der Laufzeit verändern AWT, Swing, JavaFX & SWT 11
Ollek Realisierung: JTable zur Laufzeit mit neuen Daten füllen AWT, Swing, JavaFX & SWT 3
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
Ollek Text in JTextField und JTextArea zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
L Swing Image zur Laufzeit verändern AWT, Swing, JavaFX & SWT 6
R JFreeChart Skalierung zur Laufzeit ändern AWT, Swing, JavaFX & SWT 7
L systemtray zur laufzeit ändern AWT, Swing, JavaFX & SWT 2
N Swing Threads sollen Tabtitel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 4
F Swing Zur Laufzeit Bild laden und auf JPanel anzeigen AWT, Swing, JavaFX & SWT 4
A Komponenten zur Laufzeit entfernen AWT, Swing, JavaFX & SWT 3
B Uberschrift in Swing-Programm zur Laufzeit aendern... AWT, Swing, JavaFX & SWT 4
D Panels Dynamisch zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 2
D LayoutManager GridBagLayout, Änderung zur Laufzeit AWT, Swing, JavaFX & SWT 4
S Canvas-Inhalt in Laufzeit ändern AWT, Swing, JavaFX & SWT 6
Q 3D-Grafik Cube Farbe setzen zur Laufzeit. AWT, Swing, JavaFX & SWT 10
E Swing JList zur Laufzeit hinzugefügt elemente nicht sichtbar?! AWT, Swing, JavaFX & SWT 2
E Swing Zur Laufzeit hinzegfügte Komponenten nicht sofort sichtbar?! AWT, Swing, JavaFX & SWT 4
G Swing Icons von JLabel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 3
S Java3D: Alle Objekte in BranchGroup löschen während Laufzeit AWT, Swing, JavaFX & SWT 3
A Swing JLabel in Laufzeit vergrößern AWT, Swing, JavaFX & SWT 3
U JTabbedPane: Layout-Probleme bei addTab zur Laufzeit AWT, Swing, JavaFX & SWT 2
A Komponente zur Laufzeit hinzufügen und RICHTIG anzeigen AWT, Swing, JavaFX & SWT 3
G StackOverflow nach einem Tag Laufzeit AWT, Swing, JavaFX & SWT 11
F Swing JTabbedPane: Zur Laufzeit die Tabreihenfolge ändern AWT, Swing, JavaFX & SWT 2
eQuest Swing Einem JFrame zur Laufzeit ein Panel zuweisen AWT, Swing, JavaFX & SWT 5
S initialnamen einer swing instanz zur laufzeit ändern AWT, Swing, JavaFX & SWT 5
M Swing JTable während Laufzeit beschreiben AWT, Swing, JavaFX & SWT 14
multiholle [Swing] GUI zur Laufzeit ändern AWT, Swing, JavaFX & SWT 7
L GUI Komponenten zur Laufzeit entfernen AWT, Swing, JavaFX & SWT 4
A SWT - Elemente zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
N JList (JXList) ListCellRenderer zur Laufzeit ändern (Anzeigefehler) AWT, Swing, JavaFX & SWT 6
G Komponente zur Laufzeit tauschen. AWT, Swing, JavaFX & SWT 5
O Zeichnene auf ein Jpanel während der Laufzeit des Programms AWT, Swing, JavaFX & SWT 2
M Erzeugen von Komponenten während der Laufzeit AWT, Swing, JavaFX & SWT 6
T SWT/Eclipse Form Controls zur Laufzeit hinzufügen,GridLayout AWT, Swing, JavaFX & SWT 4
S Methode während ihrer Laufzeit abbrechen AWT, Swing, JavaFX & SWT 6
G Text zur Laufzeit einblenden? AWT, Swing, JavaFX & SWT 2
P SWT: Composi te zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 3
M Sprache zur Laufzeit ändern AWT, Swing, JavaFX & SWT 3
R JFrame: Inhalt zur Laufzeit ändern AWT, Swing, JavaFX & SWT 7
J GUI JPanel zur Laufzeit austauschen. AWT, Swing, JavaFX & SWT 6
DeeDee0815 LookAndFeel während der Laufzeit verstellen AWT, Swing, JavaFX & SWT 4
padde479 Look And Feel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
D Widget/Control während Laufzeit durch ein anderes ersetzen AWT, Swing, JavaFX & SWT 3
C Zeile aus Tabelle zur Laufzeit löschen AWT, Swing, JavaFX & SWT 6
C Inhalt JTextField zur Laufzeit ändern. AWT, Swing, JavaFX & SWT 14
B JButton während der Laufzeit in JLabel umwandeln AWT, Swing, JavaFX & SWT 3
P JTextArea veränder Größe während Laufzeit; GridBagLayout AWT, Swing, JavaFX & SWT 8
B JList zur Laufzeit aktualisieren AWT, Swing, JavaFX & SWT 2
R JTable: Column Titel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
D JComponets während der Laufzeit in ein Panel einfügen AWT, Swing, JavaFX & SWT 2
S Komponente zur Laufzeit hinzufügen & Vergrößern einschrä AWT, Swing, JavaFX & SWT 3
G SWT: wie aktualisiere ich ein Canvas zur Laufzeit? AWT, Swing, JavaFX & SWT 4
S Problem, neuen JInternalFrame zur Laufzeit anzuzeigen AWT, Swing, JavaFX & SWT 8
D JTable Header während Laufzeit ändern. AWT, Swing, JavaFX & SWT 3
C Dynamisches Zuweisen von Daten an eine JTable zur Laufzeit AWT, Swing, JavaFX & SWT 4
M Anzeigefehler nach langer Laufzeit der Applikation AWT, Swing, JavaFX & SWT 4
I JTextPane zur Laufzeit zeichnen AWT, Swing, JavaFX & SWT 2
G Java 1.5 Look&Feel zur Laufzeit auf 1.4 umstellen möglic AWT, Swing, JavaFX & SWT 2
F Look and Feel zur Laufzeit ändern macht Probleme AWT, Swing, JavaFX & SWT 3
G JTable zur Laufzeit Spalten und Zeilen hinzufügen AWT, Swing, JavaFX & SWT 7
M In einem JFrame Menüs & . während der Laufzeit verändern AWT, Swing, JavaFX & SWT 6
F SWT Image: Grösse des Bildes zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
D Elemente zur LaufZeit hinzufügen und löschen AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben