myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[Java] KeyListener reagiert nicht

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 16.08.12, 14:21   #1
mrburns
Newbie
 
Registriert seit: Dec 2009
Beiträge: 50
Bedankt: 28
mrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punkte
Standard [Java] KeyListener reagiert nicht

Schönen Tag alle miteinander,

ich hänge seit gestern Abend, bis jetzt ohne jeglichen Erfolg , an dem Problem, dass ein JFrame einfach nicht auf Tastatureingaben reagieren will. Ich hab das ganze schon mehrmals überprüft und Alternativen getestet aber weder das noch googeln hat mir bis jetzt geholfen, deshalb wende ich mich jetzt mal an euch

Hier das JFrame...
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

public class edFenster extends JFrame implements Runnable
{
    private editor ed;
    
    class butt extends JButton
    {
        public butt()
        {
            super("Speichern ...");
            this.addActionListener(new ActionListener()
            {
                @Override public void actionPerformed(ActionEvent e)
                {
                    ed.getLVL().save(new File(ed.getFile(true)));
                }
            });
        }
    }
    
    public edFenster()
    {
        super();
        ed=new editor();
        Thread t=new Thread(this);
        
        this.setSize((level.width*20) + 20,(level.height*20) + 70);
        this.setResizable(false);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLayout(new BorderLayout(5,5));
        
        this.add(ed);
        this.add(new butt(), BorderLayout.PAGE_END);
        this.addKeyListener(ed);
        this.addMouseListener(ed);
        
        t.start();
        this.setVisible(true);
    }
    
    @Override public void run()
    {
        while(true) repaint();
    }
}
..und hier der Inhalt (JPanel)...
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
import java.io.Reader;
import java.io.Writer;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;

public class editor extends JPanel implements MouseListener, KeyListener
{
   
@Override public void mouseExited(MouseEvent em) { } @Override public void mouseEntered(MouseEvent em) { } @Override public void mouseReleased(MouseEvent em) { } @Override public void mousePressed(MouseEvent em) { switch(em.getButton()) { case MouseEvent.BUTTON1: currentLVL.toggleWall((em.getX()-5)/20,(em.getY()-24)/20); break; case MouseEvent.BUTTON2: ; case MouseEvent.BUTTON3: if (em.getClickCount()==2) { currentLVL.setSpawn((em.getX()-5)/20,(em.getY()-24)/20 , 2); break; } else { currentLVL.setSpawn((em.getX()-5)/20,(em.getY()-24)/20 , 1); break; } default: ; } } @Override public void mouseClicked(MouseEvent em) { } @Override public void keyReleased(KeyEvent e) { System.err.println("||"); } @Override public void keyPressed(KeyEvent e) { System.err.println("||"); } @Override public void keyTyped(KeyEvent e) { System.err.println("||"); switch(e.getKeyCode()) { case KeyEvent.VK_UP: currentLVL.setDir(2,1);break; case KeyEvent.VK_DOWN: currentLVL.setDir(4,1);break; case KeyEvent.VK_RIGHT: currentLVL.setDir(3,1);break; case KeyEvent.VK_LEFT: currentLVL.setDir(1,1);break; case KeyEvent.VK_W: currentLVL.setDir(2,2);break; case KeyEvent.VK_A: currentLVL.setDir(1,2);break; case KeyEvent.VK_S: currentLVL.setDir(4,2);break; case KeyEvent.VK_D: currentLVL.setDir(3,2);break; } }
}
Sachen, die mit dem Problem nicht zu tun haben, hab ich einfach mal gespoilert.

Durch
Code:
System.err.println("||");
wollte ich einfach eine Rückmeldung, wenn irgendwas mit einer Taste passiert, bis jetzt ist aber nichts passiert...
Kann mir irgendjemand sagen, warum der KeyListener nicht reagiert?
mrburns ist offline   Mit Zitat antworten
Ungelesen 16.08.12, 16:57   #2
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Was sagt der Debugger?
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 16.08.12, 17:52   #3
mrburns
Newbie
 
Registriert seit: Dec 2009
Beiträge: 50
Bedankt: 28
mrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punkte
Standard

Garnichts. - Wär ja auch sonst zu einfach.

\\E\\ Grad hab ich's auch nochmal mit dem Debugger von Netbeans versucht, der will mir auch nichts erzählen. :-/
mrburns ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.


Sitemap

().