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 :

j'ai du passé une fonction en public (plutot que private) mais pb


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Par défaut j'ai du passé une fonction en public (plutot que private) mais pb
    Bonjour,

    J'ai mon bouton démarrer, habituellement celui ci lance une simulation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (e.getSource()==b_start) {
    		Sound.readWavFile(is1);
    		action_b_start();
    voici b_start la fonction :
    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
    private void action_b_start() {
    isMarche = true;
    System.out.println("marche : "+isMarche);
    if (isPause) {
    System.out.println("isPause :"+isPause);
    // L'utilisateur a appuyer sur le bouton START
    isPause = false;
    if(premiere){
    	System.out.println("premiere : "+ premiere);
    simulation = new Simulation(app);
    				simulation.demarreSimulation();
    premiere = false;
    }
    simulation.setEnMarche(true);
    app.getFenetreGraphe().setEtatRafraichir(false);
    securite++;System.out.println(securite);
    enableBoutonStop(true); // Sur la fenêtre principale
    // Transformation du bouton START en bouton PAUSE
    setIsPause(false); // Sur la fenêtre principale
    		} else {
    // L'utilisateur a appuyer sur le bouton PAUSE
    app.getFenetreGraphe().setVisible(true); 
    isPause = true; 
    setIsPause(true);
    simulation.setEnMarche(false);
    b_start.setEnabled(true);
    }		
    }
    Pour des raisons complexes, j'ai du passer cette action_b_start en public pour que je puisse la lancer d'une autre classe, c à dire :
    le bouton Demarrer lance une petite boite de dial
    le bouton valider de la boite de dial lance la simu
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void actionPerformed(ActionEvent e) {
    		if (e.getSource()==b_start) {
    Sound.readWavFile(is1);
    app.getFenetrePrincipale().retourneBDD().setVisible(true);
    //action_b_start(); en commentaire siouplé
    		}
    du coup action_b_start passe en public et que le bouton ok de la boite de dialogue puisse lancer la simulation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        public void actionPerformed(ActionEvent e){
        	if (e.getSource()==bValider){
        		....
     app.getPanneauBoutons().action_b_start(); //la simu serait lancée mais c pas le cas
     this.setVisible(false);
        	}
    Merci c t indispendable que ça reste privé pour que ça tourne , je comprends pas pkoi ça marche pas....

  2. #2
    Membre confirmé Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Par défaut
    SOS
    Si quelqu'un daigne me répondre peut on simuler un clic bouton a partir d'une autre classe (exterieure à celle du bouton)
    du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     ActionEvent e2 = ActionEvent(app.getPanneauBoutons().getb_start());
        	    app.getPanneauBoutons().actionPerformed(e2);

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Bonjour,

    Comment "app" est-il "connu" au sein du actionPerformed ?

    Et si tu nous donnais un SSCCE ?

    Nicolas

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Qu'est ce qui se passe ? Ca crashe ? Ca ne se lance pas ?
    Rentres-tu bien dans ta méthode "actionPerformed()" et plus précisément dans le test "if (e.getSource()==bValider)" ?

  5. #5
    Membre confirmé Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Par défaut
    j'ai fait autrement j'ai pas compris pourquoi ça marchait vraiment pas

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Je reste disponible pour analyser un SSCCE si tu le souhaites...

Discussions similaires

  1. Utiliser un texte passé à une fonction comme id d'un objet
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/03/2014, 15h02
  2. Réponses: 2
    Dernier message: 15/07/2009, 19h44
  3. Réponses: 8
    Dernier message: 10/04/2009, 13h42
  4. Connaître le nom d'un tableau passé à une fonction
    Par amundsen dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/12/2008, 21h35
  5. Réponses: 2
    Dernier message: 26/04/2008, 17h31

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