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

  FORUM HardWare.fr
  Programmation
  Java

  [Resolu] Débutant swing : interface graphique dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] Débutant swing : interface graphique dynamique

n°1432567
damcmoi
Posté le 28-08-2006 à 15:16:24  profilanswer
 

Bonjour à tous...
 
J'essaye de faire une interface graphique, dont la forme n'est pas figée au départ...
Par exemple, je voudrais que l'utilisateur puisse entrer une valeur n dans un champ texte et que ceci entraine l'apparition de n boutons...
 
J'ai essayé le code suivant :
 

Code :
  1. import java.awt.event.*;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. public class Test2 extends JFrame implements ActionListener {
  5.    
  6.     JTextField c = new JTextField("3",5);
  7.    
  8.     public Test2() {
  9.         super("Title Bar" );
  10.         String val = c.getText();
  11.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  12.         c.addActionListener(this);
  13.         FlowLayout flow = new FlowLayout();
  14.         getContentPane().setLayout(flow);
  15.         for (int i=0; i<Integer.parseInt(c.getText());i++){
  16.             JButton b = new JButton("b"+i);
  17.             b.addActionListener(this);
  18.             getContentPane().add(b);
  19.         }
  20.        
  21.         getContentPane().add(c);
  22.         pack();
  23.         setVisible(true);
  24.     }
  25.    
  26.     public void actionPerformed(ActionEvent evt) {
  27.         Object source = evt.getSource();
  28.             setTitle(source.toString());
  29.             System.out.println("val vaut "+c.getText());
  30.         //repaint();
  31.         //validate();
  32.     }
  33.    
  34.     public static void main(String[] arguments) {
  35.         Test2 frame = new Test2();
  36.     }
  37. }


 
Le problème est que le nombre de boutons reste figé à 3, même si je change la valeur dans le champ de texte... :??:  
Quelqu'un a-t-il une idée?  
 
Merci beaucoup...


Message édité par damcmoi le 28-08-2006 à 16:15:39
mood
Publicité
Posté le 28-08-2006 à 15:16:24  profilanswer
 

n°1432575
jbourdello​n
Posté le 28-08-2006 à 15:22:50  profilanswer
 

Ben je vois pas trop ou tu modifie le nombre de tes boutons ?  
Dans ton constructeur OK tu as 3 boutons , et OK pour chacun des boutons tu ajoutes un ActionListener mais dans le ActionPerformed tu ne modifie pas ton interface !!!

n°1432580
damcmoi
Posté le 28-08-2006 à 15:27:56  profilanswer
 

C'est ça que je ne comprends pas...
Dans le ActionPerformed, la valeur de c.getText() est modifiée, mais ça ne se répercute pas dans l'interface...  
Comment je dois faire pour la modifier?

n°1432589
jbourdello​n
Posté le 28-08-2006 à 15:35:30  profilanswer
 

tu crée un nouveau constructeur avec un parametre qui est le nombre de boutons que tu souhaite  
et dans ton actionperformed tu rappelle ce constructeur avec la valeur de ton champs text
 
Autrement plus proprement tu crée une méthode changeBouton(nombre de boutons)
et tu deplaces les traitements sur les boutons faits dans ton constructeur

n°1432619
damcmoi
Posté le 28-08-2006 à 16:14:46  profilanswer
 

Merci beaucoup. :jap:
 
Je ne sais pas pourquoi, mais je m'attendais à ce que le fait de changer la valeur dans le ActionPerformed se répercute dans l'interface, ou alors qu'il y ait une fonction pour mettre à jour l'interface en fonction des nouvelles valeurs...
 
En tout cas, la methode changeBouton est une solution efficace.
 
Merci beaucoup jbourdellon.
:bounce:

n°1432622
jbourdello​n
Posté le 28-08-2006 à 16:22:09  profilanswer
 

:jap:


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

  [Resolu] Débutant swing : interface graphique dynamique

 

Sujets relatifs
[RESOLU] Excel --> powerpoint[RESOLU] Partager Wamp
[Résolu]Comment mettre à jour une tableTableau multidimensionnel [Résolu]
[C Sharp/Résolu] mémoire et sauts pointeurs: la chasse au gaspiRetourner à la boucle précédente [Résolu]
alert c'est de la fouli avec GL&SDL[resolu]Question de débutant en VB
[Résolu] [C#.Net] Ecrire dynamiquement le contenu d'un <legend>[RESOLU]newsletter - vérifier l'installation de Mysql [RESOLU]
Plus de sujets relatifs à : [Resolu] Débutant swing : interface graphique dynamique


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