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 :

Conditionner un clic bouton avec l'exécution de l'action d'un autre bouton


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut Conditionner un clic bouton avec l'exécution de l'action d'un autre bouton
    bonjour tout le monde;
    bon.. je suis entrain de développer une application interface graphique avec netbeans..(sous le principe glisser bouton et puis lui associer une action).

    mon problème c'est que je veux que lorsque je clique sur un bouton, une exception (boite de dialogue notifiant) doit être gérée expliquant que c'est impossible d'effectuer cette action que après avoir effectué une autre action sur un autre bouton(parcourir des fichiers pour consulter un fichier par exemple)

    comment faire svp?
    merci de tout cœur à toute personne qui me propose de l'aide/solution/démarche.

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    Une petite solution,

    Je fonctionnerai avec des booléens ou entier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Boolean etape1 = false;
    Boolean etape2 = false;
    Boolean etape3 = false;
    Boolean etape4 = false;
    Une fois par exemple le fichier choisi, tu passes etape1 à true et ainsi de suite. Ainsi dans le bouton final

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(etape1 && etape2 && etape3 && etape4)
    System.out.println("c'est tout bon on peut continuer");
    else if(!etape1 )
    System.out.println("Erreur durant l'étape 1");
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    merci pour votre intervention.. le principe c'est presque ça.. mais pour qu'on soit plus pratique .. si on dispose de 2 bouttons par exemple;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                   // traitement 1 obligatoirement doi etr 1er à etr effectué
                }
            });
    et ensuite un 2nd bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    // traitement 2 doit etr apré traitement 1
                }
            });
    c'est juste un exemple..

    et bien comment je dois essayer au niveau du traitement 2 pour exprimer le fait que si l'action du bouton 1 a bien été effectuée alors... sinon gérer une exception (messagebox) SVP???
    if(.. ??

    j'attends encore des réponses/passages..
    merci infiniment

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    je dois, au niveau du traitement 2 exprimer le fait que si l'action du bouton 1 a bien été effectuée alors... sinon gérer une exception (messagebox)
    Le principe de mon idée c'est exactement sa ou alors il me manque une info ^_^°.

    Exemple avec 2 boutons
    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
     
    package test;
     
    import java.awt.BorderLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class IHM extends JFrame {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	public boolean etape1 = false;
     
    	public IHM(){
     
    			JPanel pan = new JPanel();
     
    			JButton bouton1 = new JButton("Traitement 1");
    			bouton1.addActionListener(new ControleurEtape1(this));
     
    			JButton bouton2 = new JButton("Traitement 2");
    			bouton2.addActionListener(new ControleurEtape2(this));
     
    			pan.add(bouton1);
    			pan.add(bouton2);
     
    			this.add(pan, BorderLayout.CENTER);
     
    			this.setSize(200,200);
    			//On quitte l'application quand la fenêtre est fermée
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     
    	}
     
    }
    Controleur Traitement 1
    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
     
    package test;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
     
    public class ControleurEtape1 implements ActionListener{
     
    	IHM _ihm;
     
    	public ControleurEtape1(IHM ihm){
     
    		_ihm = ihm;
    	}
     
    	@Override
    	public void actionPerformed(ActionEvent arg0) {
     
    		JOptionPane.showConfirmDialog(new JPanel(),"Etape 1 en cours", "OK", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);
     
    		_ihm.etape1 = true;
     
     
    	}
     
    }
    Controleur Traitement 2
    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
     
    package test;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
     
    public class ControleurEtape2 implements ActionListener {
     
    	IHM _ihm;
     
    	public ControleurEtape2(IHM ihm) {
     
    		_ihm = ihm;
    	}
     
    	@Override
    	public void actionPerformed(ActionEvent e) {
     
    		if(_ihm.etape1)
    			JOptionPane.showConfirmDialog(new JPanel(),"Etape 1 fait", "OK", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);
    		else{
    			JOptionPane.showConfirmDialog(new JPanel(),"Vous devez faire l'étape 1 pour faire l'étape 2", "erreur", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);		
    		}
     
    		// pour faire le test à l'infini :D
    		_ihm.etape1 = false;
     
    	}
     
    }
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Citation Envoyé par XxArchangexX Voir le message
    Le principe de mon idée c'est exactement sa ou alors il me manque une info ^_^°.

    Oui c'est exactement ça ce que je veux.. sauf que j'ai besoin de consulter mon fichier qu'une seule fois pour y appliquer le nombre que je veux de traitements 2.. et donc dans mon cas j'enlève:
    // pour faire le test à l'infini
    _ihm.etape1 = false;
    et
    merci bien pour l'aide!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/05/2015, 07h41
  2. Boutons qui n'exécutent pas l'action
    Par M@t2802 dans le forum Langage
    Réponses: 2
    Dernier message: 08/08/2007, 11h05
  3. [FLASH MX] Bouton avec états différents
    Par Chucky69 dans le forum Flash
    Réponses: 5
    Dernier message: 24/08/2004, 12h01
  4. [MFC] bouton avec option "accept files"
    Par bigboomshakala dans le forum MFC
    Réponses: 4
    Dernier message: 23/06/2004, 16h15
  5. Construire chemin sur bouton avec évt Javascript
    Par Ph. B. dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/05/2003, 10h26

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