begin process at 2010 03 19 18:39:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

question de débutant


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

question de débutant

mardi 11 janvier 2005 à 00:12:31 | question de débutant

tweeder

Bonjour, j'aimerais savoir pourquoi ma fenêtre ne se rafraichit pas quand je click sur le bouton. Mon counter à beau s'incrémenter, c'est toujours Étape 1: Le bouton qui s'affiche.
Voici mon code, pro du Java soyez indulgent, c'est mon premier programme en Java. Merci

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class tp1 extends JPanel {
   
    JFrame frame;
    JPanel haut;
    JPanel main;
    JPanel bas;   
    static int counter;
       
    public tp1(JFrame frame) {
       
        super(new BorderLayout());
        this.frame = frame;
       
        haut = ajout_haut();
        main = ajout_main();
        bas = ajout_bas();
       
        add(haut, BorderLayout.NORTH);
        add(main, BorderLayout.CENTER);
        add(bas, BorderLayout.SOUTH);       
    }

    private JPanel ajout_haut(){
       
        //Création de mes panels
        JPanel haut = new JPanel();
        haut.setBackground(Color.WHITE);
       
        //On affiche le texte selon l'étape
        if(counter == 1){           
            //Le boutton
            JLabel  titre = new JLabel("<html>Étape 1: Le bouton<br><br>Pour utiliser...</html>",JLabel.LEFT);
            haut.add(titre, BorderLayout.NORTH);
        }
        else if(counter == 2){
            //Le tableau
            JLabel  titre = new JLabel("<html>Étape 2: Le tableau<br><br>Pour utiliser...</html>",JLabel.LEFT);
            haut.add(titre, BorderLayout.NORTH);           
        }
       
        return haut;
    }
   
    private JPanel ajout_main() {
       
        //Création de mes panels
        JPanel milieu = new JPanel();
       
        //On affiche le texte selon l'étape
        if(counter == 1){           
            //Le boutton
            JButton button = new JButton("Cliquez ici pour continuer");
            button.setActionCommand( "Continuez");
            milieu.add(button, BorderLayout.NORTH);
           
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {                   
                    counter++;
                    new tp1(frame);                   
                    return;
                }
            });                   
        }
       
        return milieu;
    }

    private JPanel ajout_bas(){
       
        bas = new JPanel();
        JLabel  etape = new JLabel("Étape "+counter+" / 6",JLabel.CENTER);
       
        bas.add(etape, BorderLayout.NORTH);
       
        return bas;
    }

    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI() {
        // Décorations pour la fenêtre
        JFrame.setDefaultLookAndFeelDecorated(true);
        JDialog.setDefaultLookAndFeelDecorated(true);
       
        //Créer et configurer la fenêtre       
        JFrame frame = new JFrame("Exemples d'utilisations du Java");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
        //Configurer le carré de la fenêtre
        Container contentPane = frame.getContentPane();
        contentPane.setLayout(new GridLayout(1,1));
        contentPane.add(new tp1(frame));  

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
       
        //On met le compteur a 1
        counter = 1;
       
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}


Merci de votre aide

Jonathan
mardi 11 janvier 2005 à 11:47:44 | Re : question de débutant

toffe12

Salut le probleme vient du code

button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {                   
                    counter++;
                    new tp1(frame);                   
                    return;
                }

tu recrees a chaque fois ton panel donc il prend par defaut les valeurs d'init, ecrit comme cela tu risques de faire exploser la memoire car a chaque appel du bouton tu recrees un IHM.



Cette discussion est classée dans : frame, jlabel, jpanel, haut, counter


Répondre à ce message

Sujets en rapport avec ce message

pb de visibilite ou plutot d invisibilite [ par benohite ] bonjour j ai cree une frame qui se construit a partir de 3 jpaneldans chaque jpanel je place un bouttonet j affiche le toutle pb c est que je ne vois Image dans JPanel cache mes boutons [ par Sw1tch ] Bonjour,ca doit surement être tout bete, mais j'ai un petit problème.J'ai créé un JLabel qui à la meme taille que mon JPanel. J'y ai affecté un ImageI getGraphics + JPanel [ par CHKDSK2K ] Bonjour voilà mon code import javax.swing.*;import java.awt.Graphics;public class Dessin10{ public static void main (String [] args) { JFrame Fra Pb avec un Jpanel dans une Jdialog [ par Niamorr ] Salut à tous,J'ai un pb qui me parait mysterieux.Mais j'espere qu'il ne le sera pas pour vous....Je crée une Jframe avec un JPanel dedans.Depuis cette Pb paint ?! (rafraichissement) [ par kaliel ] salut!!!voila j'ai une frame sur laquelle j'ajoute des jlabel contenant une image que je bouge à l'aide de la souris (fonction drag and drop) mais voi j'ai un problèm de variable!!? [ par axianscc ] Bonjour, je suis débutant en Java Je voudrais utiliser une variable me permettant de réaliser l'une ou l'autre partie de ma méthode « alarmesnmp ». c débutant problème variable globale [ par axianscc ] Bonjour, je suis débutant en Java Je voudrais utiliser une variable me permettant de réaliser l'une ou l'autre partie de ma méthode « alarmesnmp ». c BoxLayout component collés et ajout bas vers le haut [ par empiret ] Bonjour, J'ai un jPanel ou je rajoute au fur et a mesure (dynamiquement) d'autres jPanels. Mais j'aimerais que - le rajout s'effectue de bas vers le Problème dans le frame avec menu dynamique [ par fanoube ] Bonjour,Je crée la page avec 2 frames (haut et bas) en langage HTML.j'ai ajouté dans le frame(haut) le menu dynamique (javascript)et le deuxième frame Problème avec un menu [ par schub1015 ] J'ai récupérer un menu en javascript. C un menu qui se met an haut de la page (à l'horizontal) et qui se développe si la souris passe sur certaines zo


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales