Hallo
Ich habe eine nette Anwendung und baue gerade etwas an der Bedienbarkeit des Programms. Dabei habe ich einige Shortcuts hinzugefügt, wie z.B. Ctrl+S.
Nun wollte ich für ein anderes Menü zum schnellen Wechsel der Eingabe Funktionstasten F5-F7 sowie die Escape Taste zum Einsatz bringen. Das gelang mir aber nicht.
Der Fehler: Wenn ich das (char) Casting herausnehme, dann wird bereits zur Compile-Zeit abgebrochen. Wenn ich das Casting drin lasse, dann wird steht hinter den Menü-Items nicht F6, etc.
Insert --> u
Move --> v
Delete --> w
None --> []
Zudem sind die Items auch bei der Ausführung des Programms nicht mit den gewählten Shortcuts erreichbar, sondern nur mit den angezeigten. Das gilt nicht für das ESC. Das tut seinen Dienst.
Zwischenfrage: Wie kann ich das merkwürdige Quadrat unterdrücken und stattdessen durch einen Text, wie eben ESC ersetzen?
Hauptfrage: Wie muß man das richtig machen? Was mache ich falsch? Danke Euch!
Viele Grüße,
Semo
Ich habe eine nette Anwendung und baue gerade etwas an der Bedienbarkeit des Programms. Dabei habe ich einige Shortcuts hinzugefügt, wie z.B. Ctrl+S.
Nun wollte ich für ein anderes Menü zum schnellen Wechsel der Eingabe Funktionstasten F5-F7 sowie die Escape Taste zum Einsatz bringen. Das gelang mir aber nicht.
Der Fehler: Wenn ich das (char) Casting herausnehme, dann wird bereits zur Compile-Zeit abgebrochen. Wenn ich das Casting drin lasse, dann wird steht hinter den Menü-Items nicht F6, etc.
Insert --> u
Move --> v
Delete --> w
None --> []
Zudem sind die Items auch bei der Ausführung des Programms nicht mit den gewählten Shortcuts erreichbar, sondern nur mit den angezeigten. Das gilt nicht für das ESC. Das tut seinen Dienst.
Zwischenfrage: Wie kann ich das merkwürdige Quadrat unterdrücken und stattdessen durch einen Text, wie eben ESC ersetzen?
Java:
//Set Key-Accelerators
opens.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK));
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK));
newgraph.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK));
insert.setAccelerator(KeyStroke.getKeyStroke((char) KeyEvent.VK_F6));
move.setAccelerator(KeyStroke.getKeyStroke((char) KeyEvent.VK_F7));
delete.setAccelerator(KeyStroke.getKeyStroke((char) KeyEvent.VK_F8));
none.setAccelerator(KeyStroke.getKeyStroke((char) KeyEvent.VK_ESCAPE));
Hauptfrage: Wie muß man das richtig machen? Was mache ich falsch? Danke Euch!
Viele Grüße,
Semo