Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 07:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Java] Schleife mit Tastendruck beenden

Discussion on [Java] Schleife mit Tastendruck beenden within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2010
Posts: 64
Received Thanks: 3
[Java] Schleife mit Tastendruck beenden

Also, da ich keine Lust habe meine Programme mit Buttons zu steuern, habe ich mich dazu entschlossen es mit Tasten zu versuchen, nur leider funktioniert das garnicht bei mir. Ich habe es schon länger gegoogelt und irgendwie sollte es mit


if (e.getKeyCode() == KeyEvent.VK_LEFT)

funktionieren, aber leider tut es das nicht. Kann mir bitte jemand sagen was ich falsch mache?
wasgehtso is offline  
Old 03/22/2013, 18:28   #2
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
KeyListener auch hinzugefügt? Component fokusiert (requestFocusInWindow())?
dowhile is offline  
Old 03/22/2013, 19:01   #3
 
elite*gold: 0
Join Date: Feb 2010
Posts: 64
Received Thanks: 3
keylistener hinzugefügt, aber das mit dem fokusiert nciht danke ehm, wie addet man das denn ?
wasgehtso is offline  
Old 03/22/2013, 19:30   #4
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Mit der Methode requestFocusInWindow() / requestFocus() von dem Component, der fokusiert werden soll. Muss aber natürlich nicht sein, dass es daran liegt.
dowhile is offline  
Thanks
1 User
Old 03/22/2013, 22:39   #5
 
elite*gold: 0
Join Date: Feb 2010
Posts: 64
Received Thanks: 3
ich bin irgendwie zu doof, kannst du mal bitte n beispiel geben

Kann mir bitte jemand ein funktionierendes Beispiel zeigen und dazu vllt noch ne kurze Erklärung, ich verzweifel hier total, ich hab quasi den ganze Abend versucht Das verzweifelt Zum Laufen zu bringen, aber irgendwie funktioniert Das nicht. Hat nicht irgendjemand vllt noch ein Projekt wo es sowas benutzt hat und mir hier die wichtigen Ausschnitte hinposten könnte? Is echt wichtig...
wasgehtso is offline  
Old 03/23/2013, 19:48   #6
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Hey,

Quote:
Originally Posted by wasgehtso View Post
ich bin irgendwie zu doof, kannst du mal bitte n beispiel geben

Kann mir bitte jemand ein funktionierendes Beispiel zeigen und dazu vllt noch ne kurze Erklärung, ich verzweifel hier total, ich hab quasi den ganze Abend versucht Das verzweifelt Zum Laufen zu bringen, aber irgendwie funktioniert Das nicht. Hat nicht irgendjemand vllt noch ein Projekt wo es sowas benutzt hat und mir hier die wichtigen Ausschnitte hinposten könnte? Is echt wichtig...
klar. Du kannst aber auch deinen Quelltext zeigen und wir helfen dir, diesen zu korrigieren.

Folgendes Beispiel legt ein Fenster an und registriert einen KeyListener, der immer den Tastencode (Rückgabe von getKeyCode()) ausgibt, wenn eine Taste gedrückt wurde:

Code:
JFrame frame = new JFrame();
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addKeyListener(new KeyAdapter() {

    @Override
    public void keyPressed(KeyEvent ke) {
        System.out.println("Taste gedrueckt: " + ke.getKeyCode());
    }
});
frame.setVisible(true);
Hingegen wird in folgendem Code ein Fenster mit einem JPanel angelegt und der Listener wird dem JPanel hinzugefügt. Da das Panel keinen Fokus hat, wird es manuell mit requestFocusInWindow() fokusiert. Die Methode muss aufgerufen werden, nachdem das JFrame sichtbar ist.

Code:
JFrame frame = new JFrame();
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
JPanel panel = new JPanel();
panel.addKeyListener(new KeyAdapter() {

    @Override
    public void keyPressed(KeyEvent ke) {
        System.out.println("Taste gedrueckt: " + ke.getKeyCode());
    }
});
        
frame.setContentPane(panel);
frame.setVisible(true);
panel.requestFocusInWindow(); // ohne das würde nichts ausgegeben werden
Aber wie gesagt, du kannst auch deinen Quelltext zeigen und wir suchen dort nach dem Fehler ...
dowhile is offline  
Old 03/23/2013, 21:12   #7
 
elite*gold: 0
Join Date: Feb 2010
Posts: 64
Received Thanks: 3
package PackRobot;

import java.awt.*;

import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;

import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;




public class AnwRobot extends JFrame implements KeyListener {







public AnwRobot()

{
this.addKeyListener(this);
}

public void fuehreAus() // fuehreAus wird initisisiert
{
keyReleased(null);
keyTyped(null);
keyPressed(null);

}









@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}


public void keyPressed(KeyEvent e) {

if(e.getKeyChar() == KeyEvent.VK_SPACE) {

System.out.println("Klappt");
}

}



}



ja, das ist mein Quellcode
wasgehtso is offline  
Old 03/23/2013, 23:31   #8
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Hey,

wieso rufst du die key*-Methoden in fuehreAus() auf? Die Methode werden vom "System" aufgerufen - du musst die nicht selber aufrufen. Da du "null" als Parameter übergibst solltest du dadurch sogar eine NullPointerException erhalten.

Ansonsten kann ich an deinem Quelltext keine Fehler erkennen. Ich habe das Fenster mit folgendem Quelltext eingeblendet:

Code:
new AnwRobot().setVisible(true);
und "Klappt" wird ausgegeben, wenn ich die Leertaste drücke.

Ist das Fenster bei dir sichtbar (d.h. rufst du setVisible() auf)?
dowhile is offline  
Reply


Similar Threads Similar Threads
[Brauche Hilfe] While schleife beenden.
09/16/2012 - AutoIt - 5 Replies
Hey Leute, ich hab ein kleines Problem, und zwar lässt sich die While schleife die ich mit dem Start button starte nicht beenden, ich habe bereits gelesen das die Schleife die Gui blockiert allerdings bin ich noch sehr neu und weiß nicht wie ich das beheben soll, wär nett wenn mal einer eine gänginge Methode postet/erklärt. Grüße Quellcode:pimp: #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3>
While schleife beenden mit Button
02/14/2012 - AutoIt - 5 Replies
Erst mal Abend leute:) Und hier schon mein Problem: Ich weiß wie man eine While schleife beenden mit ExitLoop. Aber wie beende ich es mit einem anderen button?
[VB 2008] ( If Schleife/ Sub ) Beenden
10/05/2011 - .NET Languages - 3 Replies
Private Sub ButtonClick() If Button1.Enabled = True Then Button1.PerformClick() Exit Sub ElseIf Button2.Enabled = True Then Button2.PerformClick() Exit Sub ElseIf Button3.Enabled = True Then Button3.PerformClick() Exit Sub
Schleife per Tastendruck starten
01/25/2011 - General Coding - 1 Replies
Hallo, Ich möchte wissen, wie ich meinen Quellcode verändern muss, damit die Schleife erst startet, wenn ich F5 gedrückt habe. #include "stdafx.h" #include <windows.h> DWORD dwUseItemFunc = 0x0041ECF0; DWORD dwUseItemFunc2 = 0x0053BFA0;
hack beenden ohne warrock zu beenden?
03/25/2010 - WarRock - 7 Replies
kann man eigentlich hacks beenden ohne warrock dabei abzu schalten wenn ja wie? das nervt manchmal wenn man einen hack anhat und ihn nicht mehr an haben will aber dann habe ich kein prem usw also ,weil die meisten hast für f2p sind und keinen 6ten slot haben :D



All times are GMT +1. The time now is 07:34.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.