KeyListener funktioniert nicht!

Status
Nicht offen für weitere Antworten.

Ishildur

Bekanntes Mitglied
Hallo Leute, ich bin zwar nicht gerade ein Anfänger, was Java angeht, aber im Moment komme ich echt nicht mehr weiter! :-( Ich versuche ganz einfach einer JComponent einen KeyListener anzuhängen, aber es werden einfach keine Events geworfen? Gibt es vielleicht bestimmte Einschränkungen, die ich beachten muss?

Code:
// ######################################## class Board #######################################
public class Board extends JComponent
implements Runnable,KeyListener,MouseListener,MouseMotionListener,GameListener{
 // ---------------------------------------- constants ----------------------------------------
 public static final byte GRP_SRC = 0x01; // source group
 public static final byte GRP_DST = 0x01; // destination group
 public static final byte GRP_MIL = 0x02; // mill group
 // -------------------------------------------------------------------------------------------
 
 // ------------------------------------- dynamic members -------------------------------------
 private Game                gam;     // the game instance to render
 private int[]               arrCoo;  // coords representing the position of each field
 private BufferedImage       imgBgi;  // background - image
 private BufferedImage       imgWht;  // white stone - image
 private BufferedImage       imgBlk;  // black stone - image
 private BufferedImage       imgWin;  // winner image
 private BufferedImage       imgLos;  // looser image
 private Point               pntMov;  // position of the currently moving stone if any
 private Cursor              crsHnd;  // hand cursor
 private Player              plyCmp;  // the computer player
 private Move                mov;     // the move to execute
 private AnimationController aniCtr;  // an animation controller
 private Protocol            proto;   // a protocol       
 private boolean             bShwPrt; // flag if the protocol shall be rendered
 private boolean             bShwRul; // flag if the rules shall be rendered
 // -------------------------------------------------------------------------------------------
 
 // ----------------------------------- default constructor -----------------------------------
 public Board(Game gam,String strBgi){/*
  // copy the game and register this instance as listener
  this.gam = gam;
  this.gam.addGameListener(this);

  // create an array containing the 2D - coordinates of all fields
  this.arrCoo = new int[]{
   166,44,377,44,590,44,590,256,590,468,377,468,166,468,166,256,
   236,114,377,114,520,114,520,256,520,398,377,398,236,398,236,256,
   306,184,377,184,450,184,450,256,450,328,377,328,306,328,306,256
  };
  
  // open a try statements as there may occure an exception
  try{
   // load all needed images
   this.imgBgi = ImageIO.read(this.getClass().getResource(strBgi));
   this.imgWht = ImageIO.read(this.getClass().getResource("/rsc/wht.png"));
   this.imgBlk = ImageIO.read(this.getClass().getResource("/rsc/blk.png"));
   this.imgWin = ImageIO.read(this.getClass().getResource("/rsc/win.png"));
   this.imgLos = ImageIO.read(this.getClass().getResource("/rsc/los.png"));
  
   // setup the moving point and load the hand cursor
   this.pntMov  = null;
   BufferedImage imgHnd = ImageIO.read(this.getClass().getResource("/rsc/hnd.png"));
   this.crsHnd = this.getToolkit().createCustomCursor(imgHnd,new Point(5,7),"Hand");
  }
  // an exception is impossible as the required resources are inside the package
  catch(IOException exp){}
  
  // init the computer player by null and the source and destination by nil
  this.plyCmp = null;
  this.mov    = new Move(Game.SRC_NIL,Game.SRC_NIL);
  
  // create, setup and activate the animation controller
  this.aniCtr = new AnimationController(this,10);
  this.aniCtr.addAnimation(new Trail(81,367,Board.GRP_SRC,Trail.CLR_SRC));
  this.aniCtr.startAnimations();
  
  // create a new protocol instance and register it to the game
  this.gam.addGameListener(this.proto = new Protocol());
  this.bShwPrt = this.bShwRul = false;
  */
  // register this component as MouseListener and MouseMotionListener
  this.addKeyListener(this);
  this.addMouseListener(this);
  this.addMouseMotionListener(this);
 }
 // -------------------------------------------------------------------------------------------

 // ------------------------------ interface method "keyPressed" ------------------------------
 /**     This interface method will be called from awt whenever a key was typed
 @param  evt The KeyEvent related to this event
 @author Samuel Lörtscher */
 // -------------------------------------------------------------------------------------------
 public void keyPressed(KeyEvent evt){
  System.err.println("lkj");
 /* 
  // check if the F1 - key was typed
  if(evt.getKeyCode() == KeyEvent.VK_F1){
   // switch the show rules flag and repaint this component
   this.bShwRul = !this.bShwRul;
   this.repaint();
  }*/
 }
 // -------------------------------------------------------------------------------------------

Die Eventmethode "keyPressed" wird einfach niemals abgefeuert! :bahnhof:
 

Ishildur

Bekanntes Mitglied
Ich dreh noch mal durch mit Java:

Code:
import java.awt.event.*;
import javax.swing.*;

public class Main extends JFrame{
 public Main(){
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setTitle("Mühle (C) 2008 Samuel Lörtscher");
  this.setSize(762,567);
  
  A cmp = new A();
  cmp.addKeyListener(new KeyAdapter(){public void keyPressed(KeyEvent evt){System.err.println("lkjlkj");}});
  this.getContentPane().add(cmp);
  
  this.setVisible(true);
 }
 
 public static void main(String[] args) {
  new Main();
 }
}

class A extends JComponent{
}

Der Event wird nicht ausgelöst? Wieso denn nicht? Was zum Teufel ist an diesem Code falsch??? :bahnhof:

Lg Ishildur
 
B

Beni

Gast
KeyEvents werden nur von der fokusierten Componente registriert. Dein "A" wird den Fokus nicht haben, und IMHO auch nie bekommen solange es nicht mit "setFocusable" fokusierbar gemacht wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
C Keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 1
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
S KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 2
N KeyListener funktioniert nicht richitg AWT, Swing, JavaFX & SWT 4
Doopy Event Handling KeyListener funktioniert nach Restart nicht mehr AWT, Swing, JavaFX & SWT 7
C Swing KeyListener für JPanel funktioniert nicht AWT, Swing, JavaFX & SWT 8
A KeyListener funktioniert nicht AWT, Swing, JavaFX & SWT 4
A KeyListener funktioniert nicht beim Öffnen von neuem Frame. AWT, Swing, JavaFX & SWT 2
hdi keylistener funktioniert nicht AWT, Swing, JavaFX & SWT 4
S KeyListener funktioniert nicht erwartungsgemäss AWT, Swing, JavaFX & SWT 5
G KeyListener funktioniert nur einmal AWT, Swing, JavaFX & SWT 2
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
N Keylistener & JComboBox AWT, Swing, JavaFX & SWT 5
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
P JPanel KeyListener hinzufügen AWT, Swing, JavaFX & SWT 8
B Swing KeyListener auf Container? AWT, Swing, JavaFX & SWT 1
T Event Handling KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
A Event Handling Muss ich 'KeyListener' tasuend mal zufügen? AWT, Swing, JavaFX & SWT 7
S mit keylistener frame schliessen AWT, Swing, JavaFX & SWT 8
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
X KeyListener AWT, Swing, JavaFX & SWT 0
L KeyListener für JDialog AWT, Swing, JavaFX & SWT 7
Z SnakeGame Schlange per KeyListener bewegen! AWT, Swing, JavaFX & SWT 10
T KeyListener AWT, Swing, JavaFX & SWT 2
GianaSisters JFrame mit JInternalFrames, Keylistener-Problem AWT, Swing, JavaFX & SWT 9
7 KeyListener tastatur temporär blockieren AWT, Swing, JavaFX & SWT 7
7 AWT problem: KeyListener/ test im Label umändern AWT, Swing, JavaFX & SWT 4
B SWT Problem: Wie kann man für jede TableColumn einen eigenen KeyListener registrieren. AWT, Swing, JavaFX & SWT 1
U Mouse + Keylistener AWT, Swing, JavaFX & SWT 12
K ActionListener mit KeyListener AWT, Swing, JavaFX & SWT 7
J JWindow und keylistener AWT, Swing, JavaFX & SWT 1
F JavaFX KeyListener zum Fenster öffnen/schließen AWT, Swing, JavaFX & SWT 9
A Swing KeyEvent mit KeyListener und KeyAdapter kürzer schreiben AWT, Swing, JavaFX & SWT 7
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
C KeyListener AWT, Swing, JavaFX & SWT 5
S KeyListener geht nicht AWT, Swing, JavaFX & SWT 12
C Swing KeyListener in JPanel AWT, Swing, JavaFX & SWT 2
A KeyListener Button wechseln & Programm beenden AWT, Swing, JavaFX & SWT 4
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
H Bild mit KeyListener verschieben AWT, Swing, JavaFX & SWT 2
C JTextField KeyListener AWT, Swing, JavaFX & SWT 6
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3
E Swing KeyListener implementieren AWT, Swing, JavaFX & SWT 12
P KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 11
M KeyListener richtig implementieren AWT, Swing, JavaFX & SWT 3
T KeyListener AWT, Swing, JavaFX & SWT 4
R KeyListener in JWindow AWT, Swing, JavaFX & SWT 7
T BlueJ KeyListener AWT, Swing, JavaFX & SWT 7
Z KeyListener AWT, Swing, JavaFX & SWT 2
M Swing KeyListener in JTextfield AWT, Swing, JavaFX & SWT 4
VfL_Freak Swing KeyListener, um einen Dialog per ESC zu schließen AWT, Swing, JavaFX & SWT 6
A Keylistener reagiert nicht AWT, Swing, JavaFX & SWT 10
D Problem mit KeyListener AWT, Swing, JavaFX & SWT 2
J KeyListener um auf CTRL-Enter zu reagieren AWT, Swing, JavaFX & SWT 2
L Snake in Java KeyListener Problem AWT, Swing, JavaFX & SWT 30
B "globaler" KeyListener? AWT, Swing, JavaFX & SWT 3
B JTable TableHeader KeyListener AWT, Swing, JavaFX & SWT 4
S Swing KeyListener und JList AWT, Swing, JavaFX & SWT 2
R KeyListener funzt nicht AWT, Swing, JavaFX & SWT 2
X KeyListener AWT, Swing, JavaFX & SWT 4
P KeyListener + Animation AWT, Swing, JavaFX & SWT 2
M Fokus für KeyListener AWT, Swing, JavaFX & SWT 9
V Problem mit KeyListener im Fullscreen-Modus AWT, Swing, JavaFX & SWT 2
M AWT KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 10
C Swing KeyListener reagiert nicht AWT, Swing, JavaFX & SWT 7
K JFrame + KeyListener + Runnable = Fehler AWT, Swing, JavaFX & SWT 3
F Tastenabfrage (KeyListener) AWT, Swing, JavaFX & SWT 2
D KeyListener Problem bei JPanel wechsel AWT, Swing, JavaFX & SWT 2
S Swing JTree mit KeyListener AWT, Swing, JavaFX & SWT 2
L AWT KeyListener, requestFocus und KeyBindings AWT, Swing, JavaFX & SWT 8
E JFrame akzeptiert den KeyListener nicht AWT, Swing, JavaFX & SWT 3
F Swing Problem mit KeyListener||paintComponent() in JFrame AWT, Swing, JavaFX & SWT 12
P Swing KeyListener hört nur manchmal zu AWT, Swing, JavaFX & SWT 2
Screen Focus Problem , KeyListener, TextField , Key AWT, Swing, JavaFX & SWT 4
earlgrey_tea AWT KeyListener bekommt keine Signale AWT, Swing, JavaFX & SWT 3
L Problem mit KeyListener AWT, Swing, JavaFX & SWT 3
D KeyListener-Problem nach dem "Gedrückthalten" einer Taste AWT, Swing, JavaFX & SWT 10
B Swing Keylistener fuer Dialog-Buttons AWT, Swing, JavaFX & SWT 2
B KeyListener Strg+s AWT, Swing, JavaFX & SWT 5
D Globaler Keylistener AWT, Swing, JavaFX & SWT 4
M problem mit keylistener/textarea AWT, Swing, JavaFX & SWT 6
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
L AWT KeyListener, Taste gedrückt halten AWT, Swing, JavaFX & SWT 12
M Komisches Verhalten: JCombobox mit KeyListener AWT, Swing, JavaFX & SWT 13
capgeti SWT KeyListener 2 Tasten Problem AWT, Swing, JavaFX & SWT 3
R KeyListener - welcher Komponente hinzufügen AWT, Swing, JavaFX & SWT 5
Developer_X AWT KeyListener wird nicht ausgeführt! AWT, Swing, JavaFX & SWT 3
N JFrame und KeyListener AWT, Swing, JavaFX & SWT 6
M KeyListener reagiert nach Buttondruck nicht mehr AWT, Swing, JavaFX & SWT 4
A AWT Button verhindert ausführung vom Keylistener AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben