Swing

Résolu
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 11 oct. 2008 à 15:34
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 12 oct. 2008 à 11:55
Bonjour,


/*
 * avant de poser ma question , merci pour tous pour le boulot que vous faites,
 * et sachez juste que je suis nouveau en programmation et je commence à apprendre
 * java en autodidacte.
 * ma question est:
 * je ne sais pas comment coder pour que quand je tappe sur le boutton 2(par exemple),
 * le chiffre "2" s'affiche sur la zone texte.
 *
 * et si quelqu'un peut aller plus loin et me donner un exemple d'une addition de deux nombre
 * c'est encore mieux.
 *
 */


merci.

import  javax.swing.*;
import  java.awt.*;
import  java.awt.event.*;
 
    
public class test2 extends JFrame
{
   JTextField  text;
   
    public test2()
    {
        //titre de la fenetre
        super("Test");
        setSize(new Dimension(300,300));
        pack();
       
        //les panels
        JPanel  pan=new JPanel();
        JPanel  pan1=new JPanel();
       
        //les layoutmanager
        BoxLayout    b=new BoxLayout(pan,BoxLayout.Y_AXIS);  
        pan.setLayout(b);                     
       
        pan1.setLayout(new GridLayout(4,4));
       
        //création des boutttons
        JButton but0=new JButton("0");
        JButton but1=new JButton("1");
        JButton but2=new JButton("2");
        JButton but3=new JButton("3");
        JButton but4=new JButton("4");
        JButton but5=new JButton("5");
        JButton but6=new JButton("6");
        JButton but7=new JButton("7");
        JButton but8=new JButton("8");
        JButton but9=new JButton("9");
        JButton but10=new JButton("+");
        JButton but11=new JButton("*");
        JButton but12=new JButton("/");
        JButton but13=new JButton("-");
        JButton but14=new JButton("=");
        JButton but15=new JButton("c");
       
        //ajout du listener au booutton 15("c")
        but15.addActionListener(new classe1());
       
        //créer la zone texte
        JTextField text=new JTextField();
        pan.add(text,BorderLayout.NORTH);
        text.addActionListener(new classe2());
      
       
       
        //ajouter les bouttons au panel1
        pan1.add(but1);
        pan1.add(but2);
        pan1.add(but3);
        pan1.add(but10);
        pan1.add(but4);
        pan1.add(but5);
        pan1.add(but6);
        pan1.add(but11);
        pan1.add(but7);
        pan1.add(but8);
        pan1.add(but9);
        pan1.add(but0);
        pan1.add(but12);
        pan1.add(but13);
        pan1.add(but14);
        pan1.add(but15);
       
        //ajouter le panel1 au panel
        pan.add(pan1);
       
        //divers
        setContentPane(pan);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setVisible(true);
       
       
        }
    
    //la classe main()
    public  static  void    main(String args[])
    {
        new test2();
    }//fin main()
   
   
   
}//fin classe test2


//le listner:
//dans ce qui suit, j'essai d'ffacer le contenu du la zone texte par le boutton 15("c"),
//mais ça marche pas!!!!


class classe1 implements ActionListener{
 test2 h;
  //private static JTextField  text;
   void effacer(){
      h.text.setText("");
     }
 
     
   
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  //test2 t= new test2();


 
 effacer();
 
 }
 
 
}


/*
 * avant de poser ma question , merci pour tous pour le boulot que vous faites,
 * et sachez juste que je suis nouveau en programmation et je commence à apprendre
 * java en autodidacte.
 * ma question est:
 * je ne sais pas comment coder pour que quand je tappe sur le boutton 2(par exemple),
 * le "2" s'affiche sur la zone texte.
 *
 * et si quelqu'un peut aller plus loin et me donner un exemple d'une addition de deux nombre
 * c'est encore mieux.
 *
 */

3 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
12 oct. 2008 à 00:43
3
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
12 oct. 2008 à 00:47
Salut,

à ce que je vois, tu as un problème au niveau des bases de Swing..

voici un petit exemple qui pourra t'inspirer la solution :




[../auteur/LIMALIMA/1466038.aspx
]



import javax.swing.*;


import

java.awt.*;


import

java.awt.event.*;

public class Fenetre extends JFrame implements ActionListener {
    private JTextField txtField = new JTextField(20);
   

private


JButton button =

new

JButton("OK");
   


    /* Constructeur */



    public Fenetre() {
        super("Exemple simple d'une fenêtre swing");
       
        buildGUI();
       
        /* Ajout de l'objet this comme écouteur de l'événement click sur le bouton */
        button.addActionListener(this);
       
        this.setVisible(true);
    }
   
    /* Méthode privée qui constuit l'IHM */
   

private

void buildGUI() {
        JPanel panel = new JPanel();
        panel.add(button);
        panel.add(txtField);
        this.getContentPane().add(panel, BorderLayout.CENTER);
    }
   
    /* Surcharge de la méthode actionPerformed */
   

public

void actionPerformed(ActionEvent evt) {
        Object source = evt.getSource();
        if (source == button) {
            txtField.setText("Salut !");
        }
    }
   
    /* Méthode main pour le test */
   

public


static void main(String[] args) {
        new Fenetre();
    }
}


       








liens utiles :
 - la javadoc..
 - Création interface graphique avec Swing : les bases..
 - Les principes de base du GUI..
 - FAQ GUI..




Si tu as des questions n'hésites pas à les poser..

Bonne continuation..


_____________________

Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
3
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010
12 oct. 2008 à 11:55
merci beaucoup pour vos reponses,ça m'aide beacoup
0
Rejoignez-nous