IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Ecouteur entre JTextField et JPanel


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Par défaut Ecouteur entre JTextField et JPanel
    Bonjour à tous,

    Mon problème :

    Sous netbeans, j'ai créé un jFrame, je lui ai ajouté un jPanel, un jBouton et un jTexfield.

    j'ai créé une class monDessin qui extends jPanel et dans les paramètres du panel qui se trouve sur le jFrame, j'ai remplacer la ligne de création par défaut du jPanel par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jPanel1 = new monDessin();
    à l'exécution, pas de problème d'affichage.
    Mon problème est que je voudrais un lien entre le jTextfield et le jPanel monDessin pour afficher le dessin dont le nom est dans le jTextfield et mettre un dessin par défaut si le jTextfield est vide.

    en gros je voudrais mettre dans le paintComponent du jPanel monDessin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (jTextFieldFichier.getText().length() != 0){afficheLeDessinDontLeNomEstEcrit();}
     else{afficheLeDessinParDefaut();}
    Cdt,
    Dmf

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Par défaut
    Bonsoir,

    Même un boolean entre le jpanel et le jTextField suffirait

    Cdt,
    Dmf

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonsoir,

    Vous pourriez par exemple transmettre le JTextField dans le constructeur de la classe monDessin;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Class JFrame
    {
      JTextField monTextField = new JTextField();
      JPanel jPanel1 = new monDessin( monTextField );
      /.../
     
     
      Class monDessin extends JPanel
      {
        private JTextField txtFieldDessin;
     
        public monDessin( JTextField txtFieldTransmis )
        {
          txtFiledDessin = txtFieldTransmis;
          /..../
        }
     
        /..../
        // Vous avez accès au JTextField de la classe JFrame grâce à txtFieldDessin
      }
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Par défaut
    Bien vu, merci !

    Cdt,
    Dmf

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Il serait peut etre plus propre de laisser la frame réagir au changement du textfield. Ensuite la frame va chercher la valeur du textfield et demande un panel "redessineToi()" en passant en parametre le String (par exemple) du textfield qui permettra au panel de se redessiner avec le bon element.

    Car si demain tu décide d'utiliser une combo ou un list a la place du textfield pour une raison X ou Y, alors il faudra aussi modifier la classe panel. Ce qui dans l'autre cas n'aura pas lieu d'etre.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Par défaut
    Bonsoir Wax78?

    Désolé, j'ai pas tout compris.
    Tu peux me mettre un exemple pour que je comprenne,
    merci.

    Cdt,
    Dmf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème entre JTextField et JTextArea en GridBagLayout
    Par d_hazem dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 30/06/2008, 16h44
  2. Différence entre JTextField et JtextArea
    Par Premium dans le forum Composants
    Réponses: 1
    Dernier message: 09/12/2006, 14h49
  3. Lien entre JSplitPane et JPanel
    Par Heaven54 dans le forum AWT/Swing
    Réponses: 23
    Dernier message: 19/07/2006, 16h21
  4. JTextField dans JPanel
    Par d-a-v-e dans le forum Composants
    Réponses: 3
    Dernier message: 29/06/2006, 17h33
  5. Espace entre élément dans JPanel
    Par Kiboumz dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/04/2006, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo