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

 Java Discussion :

Aide pour interface graphique


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Paris
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Par défaut Aide pour interface graphique
    Bonjour à tous,
    je viens de créer une interface graphique avec juste une fenêtre et des boutons !
    jusque là je m'en suis sorti toute seule !

    Arriva le moment de fournir des actions à mes boutons !
    je me suis renseignée sur pas mal de tutos en java mais je n'arrive pas à trouver la logique de mon soucis !
    je vous explique, mon code dois permettre de calculer son bilan carbone au fur et à mesure des années et chaque année le client ou la cliente doit entrer une valeur sur mon interface.
    j'ai le bouton "Entrer une valeur" sauf que je ne vois pas du tout comment permettre à ce bouton lorsque l'on clic dessus d'entrer cette fameuse valeur.

    en espérant avoir été la plus précise possible, merci d'avance

    voici mon code pour ma fenêtre :

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
     
     class Fjframe extends JFrame implements ActionListener
     {  JPanel panel;
         JMenuBar mbar;
         JMenu m1;
         JMenu m2;
     
      public Fjframe()
        { setTitle("Logiciel d'Evaluation du bilan Carbone");
           setSize(600,400);
           // gestion evenementielle de la fermeture de la fenêtre
           addWindowListener(new WindowAdapter()
               {public void windowClosing(WindowEvent e)
                      {System.exit(0);
                      }
                 } ) ;
            // utilisation d'un toolkit pour l'affichage
            // d'une icone associée à la fenêtre
            Toolkit tk = Toolkit.getDefaultToolkit();
            Image JFrameIcon = tk.getImage("icon.gif");
            setIconImage(JFrameIcon);
     
            // insertion d'objets graphiques sur la fenêtre
            // à partir d'un panneau
            panel = new JPanel();
     
            Container contentPane = getContentPane();
            panel.setBackground(Color.green);
     
            contentPane.add(panel);
            // Ajout d'une barre de menus à la fenêtre
            mbar = new JMenuBar();
            m1 = new JMenu("Fichier");
            JMenuItem m11 = new JMenuItem("Entrez Valeur");
            m11.addActionListener(this); // installation d'un écouteur d'action
            m1.add(m11);  // ajout d'une option à un menu
            JMenuItem m12 = new JMenuItem("Fermer");
            m12.addActionListener(this);
            m1.add(m12);
            m2 = new JMenu("Tracer");
            JMenuItem m21 = new JMenuItem("Courbe");
            m21.addActionListener(this);
            m2.add(m21);
            JMenu m3 = new JMenu("Help");
            JMenuItem m31 = new JMenuItem("?");
            m21.addActionListener(this);
            m3.add(m31);
     
            mbar.add(m1);  // ajout de menus à la barre de menus
            mbar.add(m2);
            mbar.add(m3);
            setJMenuBar(mbar);
    }
    public void actionPerformed(ActionEvent evt)
        {  if (evt.getSource()instanceof JMenuItem) 
                 // gestion des événements liés aux menus
                { String ChoixOption = evt.getActionCommand();
                   if (ChoixOption.equals("Jaune"))panel.setBackground(Color.yellow);
                   else if (ChoixOption.equals("Rouge"))panel.setBackground(Color.red);
                   else if (ChoixOption.equals("Bleu"))
                                  {mbar.setBackground(Color.blue);
                                    m1.setBackground(Color.blue);
                                    m2.setBackground(Color.blue);
                                  } 
                   else if (ChoixOption.equals("Vert"))
                                 {mbar.setBackground(Color.green);
                                   m1.setBackground(Color.green);
                                   m2.setBackground(Color.green);
                                  };
                   };
         }
     }
     
     public class Courbe
     { public static void main(String[] args)
        {JFrame f =new Fjframe();
         f.show();
         }
     }

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 342
    Par défaut
    Bonjour,

    Pour rendre votre code plus facile à lire dans le post, pensez à le mettre entre 2 balises "Code", c'est le bouton # dans la petite barre d'outils du forum.

    Dans la méthode actionPerformed, vous avez traité les évènements liés au menu, mais je n'y vois pas le traitement de la commande "Entrez la valeur".

    Dans la section du traitement de cet évènement, pourquoi ne pas lancer l'ouverture d'une simple JOptionPane, et utiliser showInputDialog :http://download.oracle.com/javase/6/...a.lang.Object)

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 50
    Par défaut
    En effet, tu n'as pas spécifié comment l'utilisateur va rentrer sa valeur. Avec ce que tu as déjà fait, ce que propose rtg est le plus logique. Essaye les tutoriels java, je n'ai jamais trouvé mieux pour apprendre : http://download.oracle.com/javase/tu...ts/dialog.html

    Voilà pour la solution technique, maintenant je te suggèrerai de faire ton IHM sur papier avant de la coder, pour voir si ce que tu fais est le plus intuitif possible pour l'utilisateur car à première vue, devoir entrer une valeur à partir d'un menu déroulant me semble très déroutant.

  4. #4
    Candidat au Club
    Femme Profil pro
    Paris
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Par défaut
    Merci pour l'info rtg et chabz !
    qui pourrait me donner un début d'idée de code pour pouvoir intégrer cette action à mon évènement entrer une valeur ? s'il vous plait c'est très important !
    merci d'avance !

  5. #5
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Pour reprendre rtg :
    Dans la méthode actionPerformed, vous avez traité les évènements liés au menu, mais je n'y vois pas le traitement de la commande "Entrez la valeur".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(ChoixOption.equals("Entrez Valeur")){
                //Traitement    
    }

  6. #6
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 342
    Par défaut
    Bonjour,

    et pour faire la synthèse d'Ivelios et chabz:
    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
    String chaineReponse;
    Integer valeurReponse;
    /.../
    if( ChoixOption.equals("Entrez Valeur"))
    {
      do
      {
        chaineReponse = JOptionPane.showInputDialog( "Entrez votre valeur " );
     
        try
        {
          valeurReponse = Integer.ParseInt( chaineReponse );
        }
        catch( Exception e )
        {
          JOptionPane.showMessageDialog( null, "Veuillez entrer une valeur numérique SVP.", "ERREUR de SAISIE", JOptionPane.WARNING_MESSAGE );
          valeurReponse = -1;
        }
      }
      while( valeurReponse < 0 ); // Reboucle tant que réponse non-satisfaisante
    }
    Voilà, je pense que c'est une bonne base pour démarrer

Discussions similaires

  1. Aide pour interface graphique
    Par So_GeNeTiKz dans le forum Tkinter
    Réponses: 9
    Dernier message: 29/04/2013, 16h39
  2. Aide pour Interface graphique
    Par ahmedmrj dans le forum VB.NET
    Réponses: 19
    Dernier message: 02/05/2010, 20h55
  3. aide pour interface graphique
    Par matamine dans le forum Débuter
    Réponses: 6
    Dernier message: 25/11/2009, 08h55
  4. De l'aide pour interface graphiques en C
    Par rirou dans le forum C
    Réponses: 3
    Dernier message: 26/03/2007, 11h09
  5. aide pour interface graphique
    Par youp_db dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 12/01/2007, 15h58

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