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

AWT/Swing Java Discussion :

Rafraîchir une fenetre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Par défaut Rafraîchir une fenetre
    Bonjour à tous

    Je programme en JAVA avec JBuilder

    J'ai une fenetre principale, lorsque je click sur un bouton, une 2nd fenetre s'affiche en modal et lorsque je click sur un bouton "Valider" de la 2nd fenetre, je ferme celle-ci et ajoute des String dans une JList de la fenetre principal.

    Mon problème : lorsque j'ajoute les String dans la JList de la fenetre principale, cela ne fonctionne pas. Par contre sur j'ouvre une 2nd fois la fenetre principal, cela fonctionne.

    Je voudrai savoir s'il existe un système pour rafraichir une fenetre (exemple F5 dans un naviguateur web), ou comment éviter ce problème.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Salut, en cherchant un peu sur le forum :

    http://www.developpez.net/forums/sho...raichir+jframe

    J'espère que ça ira

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      public void Btn_mouseClicked(MouseEvent e) {
        this.setVisible(false) ;
        testihm.Cadre1 aaa = new Cadre1() ;
        aaa.list1.add("toto");
        aaa.list1.add("blabla") ;
        //aaa.contentPane.removeAll();
      }
    Voila ma fonction lorsque je click sur le bouton "Valider" de la 2nd fenetre

    kan je tape aaa. la méthode refresh() ou revalidate() ne me sont pas proposé.

    Comme,t juis-je faire ?

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Ta classe Cadre1, elle hérite de quoi ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Par défaut
    Merci,

    Mon cadre Cadre1 hérite de la classe JFrame

    Mon Cadre1 :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    package testihm;
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import com.borland.jbcl.layout.*;
    import javax.swing.event.*;
    import java.awt.Dimension;
     
    public class Cadre1 extends JFrame {
      JPanel contentPane;
      XYLayout xYLayout1 = new XYLayout();
      JButton jButton1 = new JButton();
      Cadre2 JDialogue2 ;
      JCheckBox jCheckBox1 = new JCheckBox();
      List list1 = new List();
      List list2 = new List();
      String[] data = {"one", "two", "three", "four"};
      JList jList1 = new JList(data) ;
      /**Construire le cadre*/
      public Cadre1() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      /**Initialiser le composant*/
      private void jbInit() throws Exception  {
        //setIconImage(Toolkit.getDefaultToolkit().createImage(Cadre1.class.getResource("[Votre icône]")));
        contentPane = (JPanel) this.getContentPane();
        jButton1.setText("jButton1");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            jButton1_mouseClicked(e);
          }
        });
        contentPane.setLayout(xYLayout1);
        this.setSize(new Dimension(472, 350));
        this.setTitle("Titre du cadre");
        //System.out.println(jList1.getModel()) ;
        String liste = new String() ;
        liste = "aa" ;
        contentPane.add(jButton1, new XYConstraints(42, 29, 170, 47));
        contentPane.add(jCheckBox1, new XYConstraints(42, 97, -1, -1));
        contentPane.add(list1, new XYConstraints(379, 16, 70, 102));
        contentPane.add(jList1, new XYConstraints(240, 31, 107, 49));
        contentPane.add(list2, new XYConstraints(202, 95, 76, 92));
        list1.add("aaa", 1);
      }
      /**Remplacé, ainsi nous pouvons sortir quand la fenêtre est fermée*/
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
        }
      }
     
      void jButton1_mouseClicked(MouseEvent e) {
        System.out.println("abcd") ;
        //JDialog open = new JDialog(this.contentPane, "bbb", true) ;
        JDialogue2 = new testihm.Cadre2() ;
        JDialogue2.setVisible(true) ;
    //    this.setVisible(false);
          }
    }
    Mon Cadre2 :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    package testihm;
     
    import java.awt.*;
    import com.borland.jbcl.layout.*;
    import javax.swing.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseAdapter;
     
    /**
     * Titre :
     * Description :
     * Copyright :    Copyright (c) 2007
     * Société :
     * @author
     * @version 1.0
     */
     
    public class Cadre2 extends JDialog {
      XYLayout xYLayout1 = new XYLayout();
      JLabel jLabel1 = new JLabel();
      JButton Btn = new JButton();
      public Cadre2() {
     
        this.setSize(300,300);
        //javax.swing.JDialog() ;
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      private void jbInit() throws Exception {
        jLabel1.setText("jLabel1");
        this.getContentPane().setLayout(xYLayout1);
        Btn.setText("jButton1");
        Btn.addMouseListener(new Cadre2_Btn_mouseAdapter(this));
        this.getContentPane().add(jLabel1, new XYConstraints(144, 48, -1, -1));
        this.getContentPane().add(Btn, new XYConstraints(50, 87, -1, -1));
      }
     
      public void Btn_mouseClicked(MouseEvent e) {
        this.setVisible(false) ;
        testihm.Cadre1 aaa = new Cadre1() ;
        aaa.list1.add("toto");
        //aaa.setVisible(false);
        //aaa.setVisible(true) ;
        aaa.list1.add("blabla") ;
        //aaa.contentPane.removeAll();
     
     
      }
    }
     
    class Cadre2_Btn_mouseAdapter
        extends MouseAdapter {
      private Cadre2 adaptee;
      Cadre2_Btn_mouseAdapter(Cadre2 adaptee) {
        this.adaptee = adaptee;
      }
     
      public void mouseClicked(MouseEvent e) {
        adaptee.Btn_mouseClicked(e);
      }
    }

  6. #6
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Citation Envoyé par gailup
    Voila ma fonction lorsque je click sur le bouton "Valider" de la 2nd fenetre

    kan je tape aaa. la méthode refresh() ou revalidate() ne me sont pas proposé.

    Comme,t juis-je faire ?
    Essaie de faire un revalidate ou un refresh sur ta JFrame alors... un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomdetaJFrame.refresh();

Discussions similaires

  1. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  2. [MDI] Ouvrir immédiatement une fenetre fille
    Par phil56 dans le forum C++Builder
    Réponses: 8
    Dernier message: 12/03/2003, 14h27
  3. [VB6] Dimension d'une fenetre extérieure
    Par Ingham dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/01/2003, 16h52
  4. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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