KeyListener

MrOpalala

Mitglied
Hallo Leute!
Ich habe ein Probelm mit meinen Key und MouseMotion Listener. Undzwar habe ich zwei Spiele in denen ich diese Listener benutze und will diese mit einem Menü aufrufen. Wenn ich jetzt nur den Konstruktor der Klasse aufrufe funktionieren die Listener nicht. Kann mir da jemand weiterhelfer?
 
Zuletzt bearbeitet von einem Moderator:

eRaaaa

Top Contributor
Sorry, aber ???:L:autsch::bahnhof:

Kannst du das evtl. noch ein wenig genauer beschreiben evtl. auch mit einem simplen Codebeispiel?
 

c_sidi90

Top Contributor
Der Fehler liegt ganz klar in Zeile 1443 :D Kann mich meinem Vorredner nur anschließen, wie soll dir jemand mit so einer Problembeschreibung im Themenbereich der Programmierung helfen?!
 

MrOpalala

Mitglied
So hier mal n bisschen Code:

Erst mal die Klasse von Spiel:
[JAVA=42]
import java.awt.image.BufferStrategy;
import java.awt.image.MemoryImageSource;
import java.awt.image.BufferedImage;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;


public class MainPong extends JFrame implements MouseMotionListener, KeyListener{
.
.
.
.
.
.
public MainPong() {
.
.
.
addMouseMotionListener(this);
addKeyListener(this);
.
.
initGame();

while(true) {
long start = System.currentTimeMillis();
SpielLogik();
while(System.currentTimeMillis()-start < 5) {

}
}
[/code]

So, an sich funktioniert das Spiel wenn es halt direkt gestartet wird.
Aber wenn man den Konstruktor der Klasse im JFrame über einen Button Aufruft wir alles gezeichnet und der ball Bewegt sich auch. Nur die Listener funktionieren nicht

Hier mal das JFrame:
[JAVA=42]
public class Menu extends javax.swing.JFrame {


private MainPong dasSpiel;
/** Creates new form Menu */
public Menu() {
initComponents();
}
.
.
.
.
.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

dasSpiel = new MainPong();

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration

}
[/code]
 

Mofi

Bekanntes Mitglied
Dein Code verwirrt sehr...Aber was passiert dann mit dem Menu JFrame? Bleibt der offen so dass beide JFrame gelichzeitig laufen oder lässt du den verschwinden?

Ansonsten würde mir grade einfallen...Versucht den zweiten JFrame in einen extra Thread zu tun?

Aber du könntest auch mal die Listener zeigen, wenn es die sind die Probleme machen.
 

MrOpalala

Mitglied
Es dürfte ja eigentlich nicht an den Listener Selber liegen denn wenn ich das Spiel normal (also mit run file) Starte geht ja alles. Nur wenn ich die Spiel klasse über den Button öffne gehen die Listener nicht und das Frame lässt sich auch nicht schließen.

Hier mal die Listener:
[JAVA=42]
public void mouseMoved(MouseEvent e) {
if(e.getX() < 599){
schlaeger.x = e.getX();
}
}

public void keyPressed(KeyEvent e) {
if(e.getKeyChar() == 's'){
if(SoundAN == true){
SoundAN = false;
}else SoundAN = true;
}

if(e.getKeyChar()== 'p'){
if(Pause == false){
Pause = true;
}else Pause = false;
}
}
[/code]
 
S

SlaterB

Gast
die main-Methode ist ein separater Thread,
von einem Button aus gestartet verwendest du dagegen den AWT-Thread,

falls es eine längerfristige Aktion wie die angedeutete while(true)-Schleife gibt, dann besteht tatsächlich ein Problem,
starte MainPong in einem separaten Thread

Schleifen wie
> while(System.currentTimeMillis()-start < 5) { }
laufen übrigens ununterbrochen mit 100% CPU-Last, mit Thread.sleep() könntest du dagegen ganz sanft eine Pause einlegen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B KeyListener Bug Spiele- und Multimedia-Programmierung 2
M KeyListener funktioniert nicht während Timer läuft Spiele- und Multimedia-Programmierung 26
B Den KeyListener in einer JavaFXML Application benutzen Spiele- und Multimedia-Programmierung 2
A TileMap KeyListener - Problem Spiele- und Multimedia-Programmierung 2
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
T Problem mit JnR-Steuerung / KeyListener Spiele- und Multimedia-Programmierung 6
A KeyListener - Thread Problem Spiele- und Multimedia-Programmierung 2
F Problem mit KeyListener in Applet Spiele- und Multimedia-Programmierung 4
StrikeTom KeyListener Funktioniert nicht Spiele- und Multimedia-Programmierung 3
D Space Invaders(KeyListener Problem) Spiele- und Multimedia-Programmierung 3
S Ping Pong: KeyListener in Paint und while Spiele- und Multimedia-Programmierung 10
Developer_X Java "Multi"KeyListener Spiele- und Multimedia-Programmierung 15
C Anfängerfrage: Plazierung Panel im JFrame und KeyLIstener Spiele- und Multimedia-Programmierung 4
A Mit KeyListener zwei Tasten gleichzeitig abfragen Spiele- und Multimedia-Programmierung 2
T Doppel KeyListener Spiele- und Multimedia-Programmierung 16
S Probleme mit dem Licht und dem KeyListener Spiele- und Multimedia-Programmierung 2
K Jump n Run Keylistener und Schleifen Spiele- und Multimedia-Programmierung 8
M Jpanel mit Keylistener Spiele- und Multimedia-Programmierung 6
D Pfeiltasten beim KeyListener Spiele- und Multimedia-Programmierung 1
R KeyListener hält nicht mit Spiele- und Multimedia-Programmierung 14

Ähnliche Java Themen


Oben