Funktion per Tastendruck aufrufen.

wusli

Aktives Mitglied
Hallo zusammen,
Ich habe eine Grafische Oberfläche bei der ich eine Funktion aufrufen möchte damit eine Hilfedatei angezeigt wird.
Ich möchte, dass wenn man F1 drückt, diese Hilfedatei sich öffnet.
Das ist die Funktion :
Java:
  try {
							Runtime.getRuntime().exec(
					                new String[] { "hh", System.getProperty("user.dir")+"/hilfe.chm" });
						}
						catch(Exception oError) {
						  //Hier Fehler abfangen
						}
und habe es bereits mit dieser funktion versucht:
Java:
public void keyPressed(KeyEvent e) { 
				
				  if(e.getKeyChar() == KeyEvent.VK_F1) { 
					  try {
							Runtime.getRuntime().exec(
					                new String[] { "hh", System.getProperty("user.dir")+"/hilfe.chm" });
						}
						catch(Exception oError) {
						  //Hier Fehler abfangen
						}          
				  } 
				}

Das hat jedoch nicht geklappt, kann mir da jemand ne bessere Funktion zeigen?

Danke im Vorraus :)

Mfg Wusli
 

Flown

Administrator
Mitarbeiter
Versuchs doch mal mit:

Java:
if(e.getKeyCode() == KeyEvent.VK_F1) {...}
 
N

nillehammer

Gast
Gegenfrage: Was heißt "funktioniert nicht"? Passiert garnichts? Fliegt eine Exception? Wird der Bildschirm blau? Bis zur Antwort zwei Hinweise:
- getKeyChar() ist sicher nicht richtig. Du musst getKeyCode() verwenden
- System.getProperty("user.dir") gibt das Verzeichnis zurück, von dem die JVM gestartet wurde. Kann sein, dass Du das wolltest, aber dann wird die chm-Datei nur gefunden, wenn Dein Programm vom richtigen Verzeichnis aus gestartet wird. Versuche besser was mit "user.home" zu basteln.
[EDIT]
Und schon wieder langsamer...
[/EDIT]
 
S

SlaterB

Gast
ist die Funktionalität des KeyListeners überhaupt gesichert?
das erste Java-Programm, zum Test ob alles überhaupt läuft, hat sicher auch nicht als Grundfunktion "Runtime().exec", sondern
> System.out.println("Hello World");
!! kann man in seiner Wichtigkeit gar nicht genug betonen, alles in Java ist irrelevant gegenüber einem System.out.println()!

prüfe mit einer Dummy-Ausgabe, ob der Listener überhaupt funktioniert
 

wusli

Aktives Mitglied
Also wenn ich F1 drücke, tut sich garnichts, keine Fehlermeldung, einfach nichts.
Java:
  try {
                            Runtime.getRuntime().exec(
                                    new String[] { "hh", System.getProperty("user.dir")+"/hilfe.chm" });
                        }
                        catch(Exception oError) {
                          //Hier Fehler abfangen
                        }
Die Funktion hatte ich bereits auf einem Button und das hat funktioniert, nur halt jetzt mit der F1 Taste will es nicht mehr ._.
 

Flown

Administrator
Mitarbeiter
Die Fragen die mich quälen sind:

Warum liest du nicht?
Hast du schon mal mit einer Testausgabe versucht?
Hast du überhaupt einen KeyListener hinzugezogen?

Denn mit diesem Codeschnipsel - der an und für sich funktioniert - kann man nicht, ich wiederhole, nicht helfen!

Java:
try {
    System.out.println("Exec sollte ausgeführt werden");
    Runtime.getRuntime().exec(
        new String[] { "hh", System.getProperty("user.dir")+"/hilfe.chm" });
}
catch(Exception oError) {
    System.out.println("Upps ein Fehler ist aufgetreten");
    oError.printStackTrace();
}
 
Zuletzt bearbeitet:
B

bygones

Gast
niemals fehler verschlucken... wenn bei dir eine Exception fliegt bekommst du nix mit. Mindestens ein e.printStackTrace() sollte da rein-
 

wusli

Aktives Mitglied
Den Quellcode den Flown gepostet hat, habe ich eingebaut, aber es passiert trotzdem nichts, keine textausgabe, garnichts...
Und wie ist das gemeint, mit KeyListener hinzufügen?
 

Flown

Administrator
Mitarbeiter
Dann fehlt dir soetwas wie:

Java:
 panel.addKeyListener(new KeyAdapter() { // deine Implementierung

    public void keyPressed(KeyEvent e) { 
                
          if(e.getKeyCode() == KeyEvent.VK_F1) { 
                try {
                    Runtime.getRuntime().exec(
                    new String[] { "hh", System.getProperty("user.dir")+"/hilfe.chm" });
                }
                catch(Exception oError) {
                     oError.printStackTrace();
                }          
          } 
    }
});

PS: Ich garantier jetzt nicht obs richtig geschrieben ist, habs ohne Doku/IDE gemacht


Du muss ja auch noch einen Keylistener hinzufügen zu der aktuellen Sicht. Vorsicht, wenn der Fokus nicht richtig gesetzt ist, dann funktioniert der Keylistener nicht. Es gibt soweit ich weiß auch globale KeyListener(aber das kannst du selber googlen oder im Forum suchen).
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Für eine "globale" Reaktion auf das Drücken von F1, ist ein KeyListener m.M. der falsch Ansatz. Damit ein KeyListener reagiert muss die Komponente 1. fokusierbar sein und 2. zu dem Zeitpunkt den Fokus besitzen.
Sowas löst man mittels Key Bindings.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin JavaFX Netbeans Aufruf Funktion aus Scenebuilder AWT, Swing, JavaFX & SWT 8
G JButton mit importFiles-Funktion auf JDrawPane AWT, Swing, JavaFX & SWT 5
L JavaFx Textformatierung mittels Datenbank und Funktion anpassen AWT, Swing, JavaFX & SWT 5
T Combobox mit Autocomplete-Funktion AWT, Swing, JavaFX & SWT 7
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
L Button Funktion zuweisen in WindowBuilder AWT, Swing, JavaFX & SWT 22
A Button mit Speicher-Funktion AWT, Swing, JavaFX & SWT 8
F main-Funktion bei Swing AWT, Swing, JavaFX & SWT 4
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
J Event Handling Frage zu der Funktion addActionListener AWT, Swing, JavaFX & SWT 2
D SWT Button mit F5-Funktion AWT, Swing, JavaFX & SWT 1
E ActionListener führt falsche Funktion aus AWT, Swing, JavaFX & SWT 6
C Swing JTextField Funktion zuweisen - Löschen von Buchstaben/Sonderzeichen AWT, Swing, JavaFX & SWT 6
K Funktion für das Bewegen des Balles AWT, Swing, JavaFX & SWT 5
A Trennung GUI und Funktion AWT, Swing, JavaFX & SWT 5
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
F Swing JTextField in JList (Funktion beibehalten) AWT, Swing, JavaFX & SWT 2
U Disable-Funktion AWT, Swing, JavaFX & SWT 1
C Swing Durch Inhaltsänderung eines JTextfields eine Funktion aufrufen AWT, Swing, JavaFX & SWT 5
J Swing Nach SwingWorker Funktion aus der GUI Klasse aufrufen AWT, Swing, JavaFX & SWT 5
W Funktion aus einer Java Datei in eine andere einbauen AWT, Swing, JavaFX & SWT 25
T ableitung übermalt die funktion AWT, Swing, JavaFX & SWT 3
N Swing Funktion repaint() updated nicht AWT, Swing, JavaFX & SWT 5
lumo SWT Image funktion auf ImageDaten AWT, Swing, JavaFX & SWT 9
R mathematische Funktion x^2 AWT, Swing, JavaFX & SWT 6
R mathemathische Funktion x^2 AWT, Swing, JavaFX & SWT 2
J Progressbar mit einfacher Funktion AWT, Swing, JavaFX & SWT 6
L Swing Funktion animieren AWT, Swing, JavaFX & SWT 10
O Variablen an anonyme Funktion AWT, Swing, JavaFX & SWT 10
D Funktion JList.getSelectedValues() gibt nicht alle values zurück AWT, Swing, JavaFX & SWT 2
G Swing Update-Funktion für Swing-Anwendung AWT, Swing, JavaFX & SWT 5
J Swing JDialog mit static-Funktion anzeigen -> Rückgabewert AWT, Swing, JavaFX & SWT 3
I JTextArea mit Copy Paste Funktion AWT, Swing, JavaFX & SWT 7
H Funktion ausführen wenn Button gedrückt wird. AWT, Swing, JavaFX & SWT 2
B Restart-Funktion für einen Updatemechanismus?????? AWT, Swing, JavaFX & SWT 4
G F6 Funktion AWT, Swing, JavaFX & SWT 2
S Swing Button mit Funktion abbilden AWT, Swing, JavaFX & SWT 3
P Funktion ist nicht MAC kompatibel, warum? AWT, Swing, JavaFX & SWT 12
S Funktion nur ausführen, wenn Maus über Componente ist AWT, Swing, JavaFX & SWT 2
A Sleep Funktion / Thread-Problem ! AWT, Swing, JavaFX & SWT 11
GilbertGrape bei "Enter" Funktion ausführen, egal wo der Fokus AWT, Swing, JavaFX & SWT 2
F Jframe Exit Funktion überladen AWT, Swing, JavaFX & SWT 3
G kreis malen -> welche funktion? AWT, Swing, JavaFX & SWT 3
D SWT: Funktion zum Auslesen der Schriftgröße AWT, Swing, JavaFX & SWT 2
D GroupLayout an un plötzlich is CardLayout Funktion tot? AWT, Swing, JavaFX & SWT 10
R Editor mit "Gehe zu"-Funktion AWT, Swing, JavaFX & SWT 4
W Unterdrückung von FrameIcon-Funktion im JInternalFrame AWT, Swing, JavaFX & SWT 5
G Funktion für PopUp Menü AWT, Swing, JavaFX & SWT 32
F ZOOM Funktion in JTextPane AWT, Swing, JavaFX & SWT 6
D paint-Funktion wird nicht ausgeführt AWT, Swing, JavaFX & SWT 6
A Drag and Drop Funktion mit JLabel AWT, Swing, JavaFX & SWT 5
E Beim Schließen des Fensters eigene Funktion aufrufen AWT, Swing, JavaFX & SWT 8
L JOP.showInputDialog: Abbrechen Button-Funktion beenden AWT, Swing, JavaFX & SWT 5
D setPreferredSize(), setMaximumSize() ohne Funktion? AWT, Swing, JavaFX & SWT 4
S JComboBox -> undo Funktion hinzufügen! AWT, Swing, JavaFX & SWT 2
Z Welche Funktion von JTextArea muß ich überschreiben? AWT, Swing, JavaFX & SWT 4
R TAB-Funktion in Fenster ändern - genauer: STRG+TAB AWT, Swing, JavaFX & SWT 5
P Rückgängig-Funktion im Malprogramm AWT, Swing, JavaFX & SWT 3
richis-fragen Swing Verhindern, dass die VerticalScrollbar hüpft bei Pfeilup/-down tastendruck AWT, Swing, JavaFX & SWT 2
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
S Event Handling konsole Programm mit Tastendruck beenden AWT, Swing, JavaFX & SWT 5
D Bild bewegen mit Tastendruck AWT, Swing, JavaFX & SWT 7
A Auf Tastendruck warten AWT, Swing, JavaFX & SWT 9
S Auf Tastendruck reagieren AWT, Swing, JavaFX & SWT 2
K Simuliere Tastendruck, kommt nicht in allen Programmen an AWT, Swing, JavaFX & SWT 5
M JTextField Tastendruck Abfangen AWT, Swing, JavaFX & SWT 3
C Tastendruck simulieren AWT, Swing, JavaFX & SWT 5
J JPanel.addKeyListener() - JEDEN Tastendruck im Panel abfangen AWT, Swing, JavaFX & SWT 2
T Swing JComboBox Einträge nach Tastendruck auswerten und aktualisieren AWT, Swing, JavaFX & SWT 8
R Zeichnen nach Tastendruck AWT, Swing, JavaFX & SWT 3
J JCombobox in JTable klappt beim ersten Tastendruck zu AWT, Swing, JavaFX & SWT 3
M Tastendruck abfangen AWT, Swing, JavaFX & SWT 8
I JComboBox soll auf Tastendruck reagieren AWT, Swing, JavaFX & SWT 4
T SWT - Durch Tastendruck Hilfe öffnen AWT, Swing, JavaFX & SWT 2
K Tastendruck von JButton an JTable senden AWT, Swing, JavaFX & SWT 5
T JOptionPane nicht auf Tastendruck reagieren AWT, Swing, JavaFX & SWT 2
D Tastendruck abfragen AWT, Swing, JavaFX & SWT 16
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
I Zweite Scene aufrufen AWT, Swing, JavaFX & SWT 4
F FXML Datei aus dem SceneBuilder in Eclipse aufrufen AWT, Swing, JavaFX & SWT 1
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
E Swing Dialog modal aufrufen AWT, Swing, JavaFX & SWT 2
emma_louisa JavaFX Werte beim Aufrufen des Fensters übernehmen (SceneBuilder) AWT, Swing, JavaFX & SWT 3
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
Ghostman1711 GUI Java von Klasse mit Application Windows anderes Application Window aufrufen AWT, Swing, JavaFX & SWT 6
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
M JavaFX Methode nach initialize() aufrufen AWT, Swing, JavaFX & SWT 6
A paint-Methode aufrufen AWT, Swing, JavaFX & SWT 13
stylegangsta MouseEvents aus JButton aufrufen AWT, Swing, JavaFX & SWT 3
B Swing GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 4
A Swing Externe Klassen aufrufen und in einem bereits vorhandenen Container einfügen AWT, Swing, JavaFX & SWT 0
M Swing JtextField Panel in ander Panel aufrufen AWT, Swing, JavaFX & SWT 0
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben