Tastendruck simulieren in JPanel

TR7

Mitglied
Hi!

vielleicht wisst ihr Rat zu folgendem Problem:

Ich habe einen kleinen Browser in Java gegeben.
Genutzt wurde dazu: The DJ project
Um genau zu sein das "SimpleWebBrowserExample"

Dieser Browser ist in einem JPanel eingebettet.

Ich möchte nun einen Tastendruck innerhalb des Browsers simulieren (z.B. Pfeiltasten).

Da die eigentliche Anwendung später im Hintergrund laufen soll (also Fokusverlust des Javaprogramms möglich), kann ich meines Wissens leider nicht die Robot-Klasse verwenden (Standard zum Simulieren globaler Key- und Maus-Events)

Kennt jemand irgend eine direkte Methode, an das JPanel ein Key-Event (oder irgendwie sowas) zu versenden, sodass man die Browserkomponente im JPanel fernsteuern kann?
 

TR7

Mitglied
hab schon sowas hier probiert, aber das klappt leider nicht. Im Browser werden keine Tasten simuliert:
Java:
[...]

final JPanel webBrowserPanel = new JPanel(new BorderLayout());
final JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate("http://www.google.com");
webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
simulateKey(webBrowser);//auch schon mit webBrowserPanel probiert

[...]

public static void simulateKey(Component c) {
    try {
        KeyEvent ke = new KeyEvent(c, KeyEvent.KEY_RELEASED, System.currentTimeMillis(), -1, KeyEvent.VK_A, (char) KeyEvent.VK_A);
        c.requestFocusInWindow();
        dispatchEvent(ke, c);
    } catch (Exception ex) { }
}
 
private static void dispatchEvent(final KeyEvent ke, final Component   comp) throws Exception   {
    if (!SwingUtilities.isEventDispatchThread()) {
        SwingUtilities.invokeAndWait(new Runnable  () {
            @Override
            public void run() {
                comp.dispatchEvent(ke);
            }
        });
    } else {
        comp.dispatchEvent(ke);
    }
}

Beispiel hier gefunden:
Simulate ENTER Key On Any Component Using Java | Tech Tips Tricks

Sollte das nicht eigentlich funktionieren, oder bin ich auf dem Holzweg?
 
Zuletzt bearbeitet:
V

vanny

Gast
Ich hab jetzt nicht ganz verstanden, was du im Hintergrund genau veranstalten willst, doch wenn du die Funktion, die dein KeyListener ausführt in eine extra Methode schreibst und diese Methode dann über einen extra Thread laufen lässt, könnte das dein Problem evtl. schon lösen.

Gruß Vanny
 

TR7

Mitglied
Danke für deinen Tipp.
Es ist aber so, dass ich selbst keinen KeyListener habe, sondern die oben verlinkte Library verwende. Diese stellt eine WebBrowser-Komponente zur Verfügung, welche ich in ein JPanel eingebettet habe.

Dieser WebBrowser-Komponente möchte ich mit Java steuern. Und zwar durch simulierte Tastatur-Events, wie zum Beispiel ("Taste A pressed"... "Taste A released" usw.)

Leider gibt es keine Funktion innerhalb dieser Komponente, die so etwas realisiert.
D.h. es geht sowas hier nicht:

webBrowser.simulateKey('a');

wäre ja auch zu schön gewesen :)

Gruß,
Thomas
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Tastendruck simulieren Java Basics - Anfänger-Themen 13
H Tastendruck simulieren | SendKeys Java Basics - Anfänger-Themen 12
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
B Tastendruck zurücksetzen Java Basics - Anfänger-Themen 4
F Langer Tastendruck bei Fernbedienung Java Basics - Anfänger-Themen 3
S Beliebigen Tastendruck "einlesen" (ohne Konsole) Java Basics - Anfänger-Themen 3
TheSorm java Schleife beenden per Tastendruck Java Basics - Anfänger-Themen 10
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
X Erste Schritte Spielstart per Tastendruck Java Basics - Anfänger-Themen 10
U Thread reagiert nicht sofort auf Tastendruck Java Basics - Anfänger-Themen 14
Draculajr Tastendruck abwarten Java Basics - Anfänger-Themen 5
S Schleife per Tastendruck abbrechen Java Basics - Anfänger-Themen 7
R Aktion bei Tastendruck Java Basics - Anfänger-Themen 5
E Programmsteuerung per Tastendruck Java Basics - Anfänger-Themen 4
G Tastendruck Java Basics - Anfänger-Themen 13
S Tastendruck abweisen Java Basics - Anfänger-Themen 7
T reaktion auf Tastendruck Java Basics - Anfänger-Themen 2
M Tastendruck. Java Basics - Anfänger-Themen 2
P String zu Date bei jedem Tastendruck parsen Java Basics - Anfänger-Themen 3
S Programmierung simulieren - aber wie?! Java Basics - Anfänger-Themen 3
T Tastatur mit robot ß ^ und @ simulieren Java Basics - Anfänger-Themen 4
N Tastatur simulieren Java Basics - Anfänger-Themen 4
L Enter simulieren Java Basics - Anfänger-Themen 10
R EOF simulieren Java Basics - Anfänger-Themen 2
A dynamisches Array simulieren Java Basics - Anfänger-Themen 8
I USB-Gerät simulieren Java Basics - Anfänger-Themen 4
S ANT - for Schleife simulieren? Java Basics - Anfänger-Themen 1
M Prüfung simulieren Java Basics - Anfänger-Themen 4
J Klick der ein Javascript ausfuehrt simulieren? Java Basics - Anfänger-Themen 2
B Mäusepopulation durch Threads simulieren. Java Basics - Anfänger-Themen 2
S Regelkreis simulieren Java Basics - Anfänger-Themen 4
L Mausbewegung sehen und simulieren Java Basics - Anfänger-Themen 2
L JEditorpane Mausklick simulieren Java Basics - Anfänger-Themen 6
R Mausklick simulieren Java Basics - Anfänger-Themen 5
D ActionEvent simulieren ? Java Basics - Anfänger-Themen 7
G Maus+Tastatur aktionen simulieren? Java Basics - Anfänger-Themen 5
B Tasteneingaben simulieren? Java Basics - Anfänger-Themen 3
T Kann man in einer Anwendung Eingaben simulieren? Java Basics - Anfänger-Themen 8
F Wie kann ich das Drücken der Tabulatortaste simulieren Java Basics - Anfänger-Themen 2
richis-fragen Optisch JPanel BorderLayout vertikaler Rand dicker als horizontaler Rand Java Basics - Anfänger-Themen 4
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
J Ein mit UI-Designer erstelltes JPanel einblenden Java Basics - Anfänger-Themen 0
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
Zeppi JPanel responsive Grid Java Basics - Anfänger-Themen 0
J JPanel in JScrollPanel Java Basics - Anfänger-Themen 4
Elyt JPanel als HintergrundBild Java Basics - Anfänger-Themen 7
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
B Wie kann man an ein JPanel eine Scrollbar anheften? Java Basics - Anfänger-Themen 8
O Swing JPanel Java Basics - Anfänger-Themen 4
CptK Klassen JPanel nach Ablauf der Spielzeit neuladen Java Basics - Anfänger-Themen 2
S JPanel wird nicht angezeigt Java Basics - Anfänger-Themen 1
D Animation JPanel Java Basics - Anfänger-Themen 1
M JLabels "verrutschen" beim übergeben von JPanel Java Basics - Anfänger-Themen 2
D Auf angeklicktes JPanel zugreifen Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
Y Webinhalt JPanel Java Basics - Anfänger-Themen 6
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
S JPanel variablenabhängig erstellen Java Basics - Anfänger-Themen 13
J Methoden Dinge auf einem JPanel paltzieren Java Basics - Anfänger-Themen 1
Z JPanel wird zweimal hinterinander gezeichnet.. Wieso? Java Basics - Anfänger-Themen 4
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
J Probleme mit eigenem JPanel (IDE Eclipse) Java Basics - Anfänger-Themen 4
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
R Focus auf JPanel im Thread Java Basics - Anfänger-Themen 9
I Problem mit JPanel Java Basics - Anfänger-Themen 0
B JPanel ändert die Hintergrundfarbe nicht Java Basics - Anfänger-Themen 2
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
C JPanel in MessageDialog Java Basics - Anfänger-Themen 1
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
Z JPanel bleibt leer Java Basics - Anfänger-Themen 2
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
Q JPanel Java Basics - Anfänger-Themen 2
K Erste Schritte jpanel in einer klasse auslagern Java Basics - Anfänger-Themen 3
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
N String auf JPanel bewegen Java Basics - Anfänger-Themen 6
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
S Layout mit JPanel in JScrollPanel funktioniert nicht Java Basics - Anfänger-Themen 3
S JPanel drucken -> PrinterException Java Basics - Anfänger-Themen 2
B JPanel -JTable Java Basics - Anfänger-Themen 2
H JPanel Hintergrund transparent setzen? Java Basics - Anfänger-Themen 10
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
L zoomen aus jpanel Java Basics - Anfänger-Themen 7
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben