Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1328 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Gestion de lévenement clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gestion de lévenement clavier

n°1091676
doudouche
Posté le 21-05-2005 à 16:06:37  profilanswer
 

Bonjour je veu réaliser un programme tout simple réalisant l'affichage d'un cercle sous java. Celui ci doit se mouvoir dans la fenetre lors d'une pression  sur les touche z,q,s ou d... Probleme : apres m etre documenter etc voici mon source :
MAIS LE CERCLE NE BOUGE PO !!!!
 
POurriez vous m aider ?
Le probleme se trouve probablement dans la classe Jeu.
 
SOURCE FENETRE.java :
 
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JComponent;
import javax.swing.JFrame;
import java.awt.*;
import javax.swing.*;
 
public class Fenetre {
 
 public static void showOnFrame(JComponent component, String frameName)  
 {
  JFrame frame = new JFrame(frameName);
   
  WindowAdapter wa = new WindowAdapter()  
  {
   public void windowClosing(WindowEvent e)  
   {
    System.exit(0);
   }
  };
 
   
  frame.addWindowListener(wa);
  frame.getContentPane().add(component);
  frame.pack();
  frame.setVisible(true);
 }
}
 
Source Jeu.java
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JComponent;
import javax.swing.JFrame;
 
public class Jeu extends JPanel
{
 private static int posx=50;
 private static int posy=50;
 
 public static void setposx(int x)
 {
  posx=x;
 }
 
 public static void setposy(int y)
 {
  posy=y;
 }
 
 public static  int getx()
 {
  return(posx);
 }
 
 public static int gety()
 {
  return(posy);
 }
 
 public void init()
 {
   
 }
 
 public void paint(Graphics g)
 {
  g.drawOval(posx, posy, 50, 50);
  g.drawString("posx",70,70);
  g.drawString("posy",70,70);
 }
 
  public boolean KeyDown(Event evt, int key)
  {
    char touche;
    touche = (char)key;
    switch(touche)
    {
     case 'z': posx++;repaint();break;
     case 's': posx++;repaint();break;
     case 'q': posx++;repaint();break;
     case 'd': posx++;repaint();break;
     case 'o': posx++;repaint();break;
    }
     
    return (true);
  }
 
 public void update(Graphics g)
 {
  paint(g);
 }
}
 
Source Affichage.java
 
import java.awt.*;
import javax.swing.*;
 
public class Affichage extends JPanel
{
 public static void main(String[] args)
 {
  Jeu f = new Jeu();
  f.setBackground(Color.white);
  f.setPreferredSize(new Dimension(100,100));
  Fenetre.showOnFrame(f,"Jeu java par JaI" );
 }
}

mood
Publicité
Posté le 21-05-2005 à 16:06:37  profilanswer
 

n°1092808
doudouche
Posté le 22-05-2005 à 20:09:35  profilanswer
 

Voyant le nombre de reponses s'incrémenter chaque seconde, j aimerait savoir si ma question est conne ou si vous n avez tout simplement pas envie de repondre. Merci d'avance

n°1092885
kruso
Posté le 22-05-2005 à 22:53:06  profilanswer
 

regarde du côté des KeyListener, parce que ta méthode KeyDown m'a l'aire louche.
 
En gros tu dois mettre :
public class Jeu extends JPanel implements KeyListener
 
et définir les methodes de cette interface (cf la doc de sun)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Gestion de lévenement clavier

 

Sujets relatifs
Gestion des sprites avec ImageList en Delphi ?Gestion de la mémoire en delphi?
[C]Touches speciales du clavierGestion des GIF et/ou des PNG sous vb.net
[68000] Interruptions clavier[Framework J2EE] Gestion d'utilisateurs
gestion de fichier et mode appendProbleme de gestion des evenements claviers
[RESOLU]Gestion des erreurs dans VBpb de gestion multitaches
Plus de sujets relatifs à : Gestion de lévenement clavier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR