Comment détecter une pression sur une touche en Java

Mon fils (11 ans) qui est l'apprentissage de Java va entrer à une question et un peu de code. Il me dit qu'il n'a pas été en mesure de trouver la réponse à cette question sur le site. Vous le constaterez à la lecture de ma version modifiée de sa question. Merci beaucoup.

Comment puis-je détecter une pression de touche en java, Mon IDE est appelé eclipse et j'ai fait quelques classes. J'ai trouvé le code à l'intérieur keyconfigofplayer de l'internet et l'a changé pour étendre la classe de joueur. Je veux qu'il sorte quand j'ai maintenez enfoncée une touche un rectangle ou un ovale se déplace sur l'écran, comment pourrais-je faire cela? Pour une raison quelconque il l'habitude de taper le code correctement, c'est pourquoi mes importations n'ont pas l'astérisque et un look bizarre. désolé à ce sujet. veuillez l'ignorer. Je ne peux pas corriger ça:(.
voici mon code:

code pour fenêtre:

import javax.swing.*;
import java.awt.*;

public class window {

    public static void main(String[] args) {
        //TODO Auto-generated method stub
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.setSize(600, 600);
        player p = new player();
        f.add(p);

        keyconfigofplayer key = new keyconfigofplayer();
        p.add(key);
        f.add(key);

    }
}

//this class is the player graphic

import javax.swing.*;
import java.awt.*;

    public class player extends JPanel {

    int x = 50;
    int y = 50;

    public void paint() {//This is where the graphic is painted to the screen
        repaint();
    }

    public void paintComponent(Graphics g) {
        //This is where the graphic is 'manufactured'
        super.paintComponent(g);
        g.setColor(Color.GREEN);
        int width = 20;
        int height = 20;
        g.fillRect(x, y, width, height);

        int width2 = 10;
        int height2 = 10;
        g.fillOval(x, y, width2, height2);

    }
}

//the keyconfigofplayer class(where i think the problems are):
//this class is the player graphic

import javax.swing.*;
import java.awt.*;

    public class player extends JPanel {

    int x = 50;
    int y = 50;

    public void paint() {//This is where the graphic is painted to the screen
        repaint();
    }

    public void paintComponent(Graphics g) {
        //This is where the graphic is 'manufactured'
        super.paintComponent(g);
        g.setColor(Color.GREEN);
        int width = 20;
        int height = 20;
        g.fillRect(x, y, width, height);

        int width2 = 10;
        int height2 = 10;
        g.fillOval(x, y, width2, height2);
    }
}

Les classes, j'ai essayé de commenter, si bien que vous savez ce que cela signifie.
J'ai eu keyconfigofplayer du code de la chaîne youtube macheads101 la programmation d'interface graphique en java de l'épisode 12 ou 11 je crois. Je pense que mon problème n'est pas à propos de la mise à jour de l'image, mais sur la détection lorsque la touche est enfoncée puis relâchée. Alors peut-être que je devrais faire une boucle while en déclarant que:
si cette touche est enfoncée, + 10 pour les coordonnées x jusqu'à ce que sa fait et constamment mise à jour de la position.
Je voudrais également demander, lors de l'utilisation de public, privé et non avenu? Je ne comprends pas 🙁 et si nous avons fait l'étend joueur implémente chose correctement. J'ai essayé de modifier macheads101 du code avec soin, quand j'ai copié exactement, il ne fonctionne pas trop. Donc, je ne sais pas vraiment quel est le problème. Je serais reconnaissants si vous avez répondu à ma question et m'a aidé à modifier mon code. En fin de compte, ça va être un jeu de tir, comme le jeu d'arcade "space invaders" ou " dragon shooter.

Je sais que c'est tentant d'utiliser des vidéos youtube pour apprendre des choses, mais ils ne sont vraiment pas la meilleure solution pour le codage. Un écrit tutoriel vous permettra de vous déplacer à travers les choses beaucoup plus mesuré et consultez le code de l'action.
Oh, encore une chose. Vous pouvez faire des jeux en Swing, mais vous trouverez que vous êtes assez limité puisqu'il est plus conçu pour un type de logiciel. Pour écrire des jeux en java vraiment vous avez besoin d'une bibliothèque graphique. Par exemple ce tutoriel de la série fait un tireur néon dans jME3: gamedevelopment.tutsplus.com/tutorials/...
Concernant le premier point, je dois dire que vous êtes le parent de l'année. Votre fils a beaucoup de potentiel pour la programmation. Continuez à encourager lui!
"Mon fils (11 ans) qui est l'apprentissage de Java va entrer à une question et un peu de code. Il me dit qu'il n'a pas été en mesure de trouver la réponse à cette question sur le site. Vous le constaterez à la lecture de ma version modifiée de sa question. Merci beaucoup." Bon travail en battant la COPPA sur la tête avec un bâton! Les gens comme vous que le monde va 'tour.

OriginalL'auteur user3343497 | 2014-02-23