begin process at 2010 02 10 00:14:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Pb keylistener java


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb keylistener java

mardi 14 novembre 2006 à 17:34:30 | Pb keylistener java

ptidav

Bonjour,
j 'ai un pb avec l utilisation du keylistener dans un JPanel, ce JPanel est contenu dans une JFrame
et il instancie d autres JPanel qui s ajoutent sur lui. J ai fait d autres sources ou je l utilise et d habitude ca marche mais la rien ne s affiche... (j ai peut etre aussi la tete dans le code depuis trop lgtps ...).

Si qq un voit le pb. Merci d avance.


public class Tapis extends JPanel implements KeyListener {

    private Controle cont;

    public Tapis(Controle cont) {
 
        this.cont = cont;
        setLayout(new GridLayout(cont.getY(), // lignes
                cont.getX(), // colonnes
                0, // espacement hor.
                0 // espacement vert.

        ));
        for (int i = 0; i < cont.getGrille().length; i++)
        {
            add(new Domino((Piece) cont.getGrille()[i], cont),
                    BorderLayout.CENTER);// Domino est un panel
        }
        addKeyListener(this);
    }

//[...]

    public void keyPressed(KeyEvent a) {
        System.out.println("test");
    }

    public void keyReleased(KeyEvent arg0) {
        System.out.println("test");
    }

    public void keyTyped(KeyEvent arg0) {
        System.out.println("test");
    }
}
 



mardi 14 novembre 2006 à 18:29:30 | Re : Pb keylistener java

kaloway



bonsoir, je pense que les dominos masquent le tapis. essais de mettre ces ligne la en commentaire :

for (int i = 0; i < cont.getGrille().length; i++)
        {
            add(new Domino((Piece) cont.getGrille()[i], cont),
                    BorderLayout.CENTER);// Domino est un panel
        }
mardi 14 novembre 2006 à 18:33:31 | Re : Pb keylistener java

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

C'est simplement qu'ici ton panel Domino à un BorderLayout à center donc il recouvre compretement le panel Tapis et prend donc toujour le focus....

une solution pas superbe serait de mettre le keylistener sur ton panel Domino
une autre plus souple serait d'utiliser les KeyboardAction exemple ICI

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
mardi 14 novembre 2006 à 20:21:56 | Re : Pb keylistener java

ptidav

re
Merci pour vos reponses, j ai essayé de mettre la ligne suivante en commentaire:

add(new Domino((Piece) cont.getGrille()[i], cont), BorderLayout.CENTER);

pas de changement meme si le panel est totalement vide, donc au premier plan, j ai meme enlevé tout dans le constructeur (a part .  addKeyListener(this); bien sur) et tjs rien, le pb viendrait il d ailleurs ? ... Je vais regarder les KeyboardAction de plus pres et vu que c est un travail noté, je prefere pas mettre le listener dans la classe Domino.


mardi 14 novembre 2006 à 20:35:03 | Re : Pb keylistener java

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

perso j'ai déjà eu des probs du genre avec des keylistener et des panel et la solution la moin prise de tete fut KeyboardAction


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
mercredi 15 novembre 2006 à 19:06:22 | Re : Pb keylistener java

ptidav

Bonsoir,

KeyboardAction marche très bien, c'est cool, voila comment je l'ai utilisé si ca peut interesser des gens par la suite, par exemple j'ai une classe où il y a un JButton newGame qui sert à lancer un nouveau jeu :

//dans le constructeur
//[...]
newGame.addActionListener(this);
newGame.registerKeyboardAction(this, KeyStroke.getKeyStroke(
                KeyEvent.VK_H, Event.CTRL_MASK),
                JComponent.WHEN_IN_FOCUSED_WINDOW);
//[...] Fin du constructeur

public void actionPerformed(ActionEvent arg0) {

 if (arg0.getSource() == newGame ||
KeyStroke.getKeyStroke(KeyEvent.VK_H, Event.CTRL_MASK).isOnKeyRelease())
    {
            ig.getCont().restart(ig); //redemarrage du jeu
    }
}

Le jeu redemarre si le bouton newGame est utilisé ou si la combinaison CTRL+H est pressée.
Merci pour l'aide.



Cette discussion est classée dans : pb, public, jpanel, cont, keylistener


Répondre à ce message

Sujets en rapport avec ce message

pb: Jpanel transparent... [ par tlehoucq ] Voila g un pti pb, J' ai un panel principal qui contient plusieurs autres panels. J'aimerais que ces panels "fils" restent transparents jusqu'àce que Pb de Collection [ par jesuhsXVII ] J'ai un petit pb, c surement tout bete ... bref Voici le code :package SystemDeFichier;import java.util.*;import java.io.File;public class BoutonNavig a mort les JButton =] [ par niko29940242 ] lu all j'ai un pti pb : j'essai de faire un plateau de jeu avec la methode paint() (pour ca ya pas de pb ) mais ensuite je n'arrive plus a faire appar pb avec 2 Paint Component [ par niko29940242 ] bonsoir a tous voila j'ai une ptite kestion : je suppose qu'il est possible dans un meme prog (mais dans des classes differentes) d'utiliser deux fois pb avec fond de fentre et positionnement d'objets! [ par othland ] salut tlm!j'ai un un petit probleme dans ce code!le pb c'est que le JLabel ne se positionne pas dans la place du rectangle, je comprend pas pourquoi?? KeyListener [ par paf24 ] Salut, j'ai un petit blem en java, si y'a un bosse de java dans le coin, ça serait cool de jeter un oeil furtif.En gros, je souhaite utiliser un KeyLi Pb ajout label sur JPanel [ par kaliel ] bonjour,J'ai une Jframe qui contient un Jpanel (avec un flowlayout) et je souhaite en cliquant sur un bouton ajouter un jlabel avec une image au jpane PB de JPanel qui ne veut pas se refermer [ par Sensei01 ] Sensei01 slt,voila, je cré un JPanel pour lister des éléments (contenue dasn un Vector et q Pb de raffraichissement dans 2 panel differents [ par Spawnrider ] Bonjour, je dispose d'une JFrame principal contenant un JPanel Terrain (GridLayout) contenant 150 JPanel Surface representant des carrés de surface. C Problème avec KeyListener , impossible de vérifier l'appui des touches [ par joebar3333 ] salut,j'essaie de paramétrer des actions sur des actions clavier, mais je n'arrive pas à tester lorsque l'utilisateur appuie sur un touche.Voila mon c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales