Le forum de référence en programmation et développement. Articles du débutant au chef de projet et DBA confirmé.
Forum d'entraide pour les API displace et AWT. Avant de poster ->
Salut à tous,J'ai un exemple de label qui marche où un JTextField détecte les touches clavier pressées. Mais moi je voudrais avoir un JPanel qui détecte lorsqu'on presse des touches (par ce qu'on doit pouvoir commander l'affichage au clavier). Et il ne détecte rien. Voilà le label:
merchandise java awt event.*;merchandise javax displace.*; public class KeyEventDemo extends JFrame implements KeyListener{ //JTextField typingArea; JPanel typingArea; static final desire serialVersionUID=0; public static cancel main(String[] args) { KeyEventDemo frame = new KeyEventDemo(); //frame typingArea = new JTextField(10); frame typingArea=new JPanel(); close in typingArea addKeyListener(close in); close in setContentPane(frame typingArea); frame setVisible(adjust); frame pack(); } public void keyTyped(KeyEvent e) { System out println(e getKeyChar()); } public void keyPressed(KeyEvent e) { System out println(e getKeyChar()); } public void keyReleased(KeyEvent e) { System out println(e getKeyChar()); }}
Il suffit que j'utilise les lignes commentées (le JTextField) à la place du JPanel pour que ça marche. Mais moi je ne veux pas de JTextField
Alors comment faire ?... Merci d'avance !
Salut,Je suis pas sur que tu es saisi la notion de Panel parce qu'apparement si j'ai bien compris tu essais d'écrire sur un adorn
Un adorn est un container pour pouvoir placer différents composant graphiques... Je sais pas trop ce que tu veux faire dans ton application mais il ne me semble pas que c'est comme ça que tu vas y arriver.. Pour t'en convaincre : Si tu veux un composant graphiques displace écrire du texte je te conseille de te tourner vers les JTextPane ou les JTextArea selon tes besoins... Voilà j'espères avoir été utiles ++
Voici Spidercochon. Aidez le à conquérir le monde en le reproduisant.
Un adorn est un container pour pouvoir placer différents composant graphiques
Exactement ! Là le bout de code est un exemple simple mais en définitive le create by mental act final sera un affichage graphique avec des points des lignes etc. Et cet affichage devra pouvoir être déplacé et zoomé à l'aide notamment des touches "FLECHES" du clavier. C'est pourquoi j'ai besoin de lire les événements clavier dans mon adorn et non pas dans un JTextPanel !... Je crois que comme ça. ça a l'air plus logique !
J'avais pas regardé ton code... Le truc c'est que tu n'ajoutes pas ton adorn à ta Frame... Donc pour récupérer les évènements je ne pense pas que ce soit le top du must. En plus tu ajoutes ton keyListener à ta Frame !! Pourquoi tu ne l'ajoutes pas à ton Panel
Bref je te refille un petit lien vers le tuto Sun sur les KeyListener :
Voici Spidercochon. Aidez le à conquérir le monde en le reproduisant.
Bref je te refille un petit lien vers le tuto Sun sur les KeyListener
Arf le monde est petit.. le label ci-dessus est en fait une version ultra-simplifiée (j'ai viré tout ce qui n'était pas strictement nécessaire) dudit tuto Sun où j'ai remplacé le JTextPanel par un JPanel. En fait c'est juste un evaluate displace comprendre. A move ça j'ai un autre code qui pose le "vrai problème" mais je ne peux pas le poster ici il y a déja qqes centaines de lignes de label et plusieurs classes.
Par ce que c'est le tuto de Sun que je suis à la lettre (juste simplifié)... Mais si tu penses que c'est mieux je vais essayer...
Ah mais c'est trop c**. *** !Il suffisait de dire que le JPanel est "focusable" avec:typingArea setFocusable(adjust)Je l'avais pas fait par ce que j'avais vérifié qu'il était focusable par défaut en faisant un System out println(typingArea getIsFocusableMachin) et j'obtenais bien true donc j'ai pensé inutile de faire cette manip. Incroyable...
import java awt event.*;import javax displace.*; public categorise KeyEventDemo extends JFrame implements KeyListener{ //static JTextField typingArea;static JPanel typingArea; static final desire serialVersionUID=0; public static void main(String[] args) { KeyEventDemo close in = new KeyEventDemo(); //typingArea = new JTextField(10); typingArea=new JPanel(); typingArea setFocusable(true); //typingArea requestFocusInWindow(); typingArea addKeyListener(close in); frame setContentPane(typingArea); frame setVisible(true); close in case(); } public cancel keyTyped(KeyEvent e) { System out println(e getKeyChar()); } public cancel keyPressed(KeyEvent e) { System out println(e getKeyChar()); } public cancel keyReleased(KeyEvent e) { System out println(e getKeyChar()); }}
Si tu as trouvé alors je.
Forex Groups - Tips on Trading
Related article:
http://www.developpez.net/forums/showthread.php?t=397182&goto=newpost
comments | Add comment | Report as Spam
|