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

Interfaces Graphiques en Java Discussion :

problème de raffraîchissement d'une JFame


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Par défaut problème de raffraîchissement d'une JFame
    Bonjour tout le monde,

    J'ai un JFrame auquel j'ajoute un menu et un JPanel contenant des composants (de type JLabel). Chaque bouton du menu est relié à un label à afficher. Quand je je clique sur un bouton du menu, la fenêtre n'est pas raffraîchie
    automatiquement. Il faut que je modifie sa taille pour qu'elle se raffraîchisse.
    J'ai essayé en appellant monPanle.repaint() tout juste après le choix de l'action à effectuer mais pas de résultats.

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Par défaut
    Bonjour,

    Un clic sur un menu pour rafraichir le texte d'un JLabel n'a pas besoin d'un appel à repaint() pour se mettre à jour. En exemple le petit bout de code suivant:
    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
     
    import javax.swing.*;
    import java.awt.event.*;
     
    public class Menu
        extends JFrame implements ActionListener {
     
      private JLabel label;
     
      /**
       *
       */
      public Menu() {
        super("Menu :: " + System.getProperty("java.vm.name") + " "
            + System.getProperty("java.vm.version"));
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        getContentPane().add(createPanel());
        setJMenuBar(createMenubar());
        pack();
        setLocationRelativeTo(null);
      }
     
      /**
       *
       * @return JComponent
       */
      private JComponent createPanel() {
        JPanel panel = new JPanel();
        label = new JLabel("texte à afficher");
        panel.add(label);
        return panel;
      }
     
      private JMenuBar createMenubar() {
     
          JMenuBar menuBar = new JMenuBar();
     
          for (int i = 1; i < 5; i++) {
            JMenu menu = new JMenu("Menu " + i);
            menuBar.add(menu);
            for (int j = 1; j < 10; j++) {
              JMenu subMenu = new JMenu("Sous-Menu " + i + "-" + j);
              menu.add(subMenu);
              for (int k = 1; k < 10; k++) {
                JMenuItem item = new JMenuItem("Item " + i + "-" + j + "-" + k);
                item.addActionListener(this);
                subMenu.add(item);
              }
            }
          }
          return menuBar;
      }
     
      /**
       *
       * @param args String[]
       */
      public static void main(String ...args) {
        SwingUtilities.invokeLater(new Runnable() {
          public void run() {
            new Menu().setVisible(true);
          }
        });
      }
     
      public void actionPerformed(ActionEvent e) {
        this.label.setText(e.getActionCommand());
      }
    }
    Pas possible de t'aider si on ne voit pas ton code...
    Regarde à partir de ce petit bout de code si qqch cloche dans le tien et donne des détails.

    A +

    Philippe.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Par défaut
    Merci tout le monde
    en afit il fallait juste remplacer monPanel.repaint() par monPanel.revalidate()

    et ca marche
    @+

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

Discussions similaires

  1. Problème de recherche dans une BD
    Par ledevelopeur dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2004, 09h49
  2. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19
  3. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40
  4. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

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