page précédantetable des matièrespage suivante








Un exemple plus detaillé – calculette:
 
 
//Calculette
import java.awt.*;
import java.applet.*;
public class Calculette extends Applet {
  int arg1,arg2;
  Button number[] = new Button[10];
  Button func[] = new Button[4];
  Panel num_panel;
  Panel func_panel;
  Panel rez_panel;
  TextField rez;
  int op_state;  //0 - premier,  1 - deuxieme argument
  char oper;

  public void init(){
    op_state = arg1 = arg2 = 0;
    oper = ' ';
    setLayout(new BorderLayout());

    num_panel = new Panel();
    num_panel.setLayout(new GridLayout(4,3));
    for(int i=9; i>=0; i--){
    number[i] = new Button((new String()).valueOf(i));
    num_panel.add(number[i]);
    }

Calculette :
 
 

    num_panel.add(new Button());
    func[1] = new Button("=");
    num_panel.add(func[1]);
    add("Center", num_panel);

    func_panel = new Panel();
    func_panel.setLayout(new GridLayout(4,1));
    func[2] = new Button("+");
    func_panel.add(func[2]);
    func[3] = new Button("-");
    func_panel.add(func[3]);
    func_panel.add(new Button());
    func_panel.add(new Button());

    add("East",func_panel);
 

    rez_panel = new Panel();
    rez = new TextField("0",5);
    rez_panel.add(rez);
    add("North",rez_panel);

  }
  public boolean action(Event evt, Object arg) {
    for (int i = 0; i<=9; i++)
    if(evt.target.equals(number[i])){
      if (op_state != 0){ arg2 = i;rez.setText(arg2 + ""); }
      else {arg1 = i; rez.setText(arg1 + "");}
      return true;
    }

    for (int i = 1; i< 4; i++)
     if(evt.target.equals(func[i])) {
      switch (i) {
        case 1: if (oper == '+')
          rez.setText((arg1 + arg2)+ "");
          else if ( oper == '-')
          rez.setText((arg1-arg2) + "");
         op_state = 0; break;
        case 2: oper = '+'; op_state = 1; break;
        case 3: oper = '-'; op_state = 1;
      }
         return true;
     }
    return super.action(evt,arg);
 }
}
 

Calculette avec AWT 1.1
 
 
//CalculetteN
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class CalculetteN extends Applet {
    String arg1="";
    String arg2="";
    int rezVal;
    Button number[] = new Button[10];
    Button func[] = new Button[4];
    Panel num_panel;
    Panel func_panel;
    Panel rez_panel;
    TextField rez;
    int op_state;  //0 - premier,  1 - deuxieme argument
    char oper;


    public void init(){
        op_state = 0;
        oper = ' ';
        setLayout(new BorderLayout());

        num_panel = new Panel();
        num_panel.setLayout(new GridLayout(4,3));
        for(int i=9; i>=0; i--){
            number[i] = new Button((new String()).valueOf(i));
            number[i].addActionListener(new BN());
            num_panel.add(number[i]);
        }
        num_panel.add(new Button());
        func[1] = new Button("=");
        func[1].addActionListener(new BE());
        num_panel.add(func[1]);
        add("Center", num_panel);

        func_panel = new Panel();
        func_panel.setLayout(new GridLayout(4,1));
        func[2] = new Button("+");
        func[2].addActionListener(new BA());
        func_panel.add(func[2]);

        func[3] = new Button("-");
        func[3].addActionListener(new BS());
        func_panel.add(func[3]);
        func_panel.add(new Button());
        func_panel.add(new Button());

        add("East",func_panel);


        rez_panel = new Panel();
        rez = new TextField("0",5);
        rez_panel.add(rez);
        add("North",rez_panel);

    }

    class BN implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            if (op_state != 0){
                arg2 += e.getActionCommand();
                rez.setText(arg2);
            }
            else {
                arg1 += e.getActionCommand();
                rez.setText(arg1);
            }
        }
    }

    class BE implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            if(oper == '+')
                rezVal = Integer.parseInt(arg1)+Integer.parseInt(arg2);
            else
                rezVal = Integer.parseInt(arg1)-Integer.parseInt(arg2);
            rez.setText(rezVal+"");
            arg1= "";  arg2 = "";  op_state = 0;
        }
    }

    class BA implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            oper = '+';
            op_state = 1;
        }
    }

    class BS implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            oper = '-';
            op_state = 1;
        }
    }

//    To close the application:
    static class WL extends WindowAdapter {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    }

    // A main() for the application:
    public static void main(String[] args) {
        CalculetteN applet = new CalculetteN();
        Frame aFrame = new Frame("CalculetteN");
        aFrame.addWindowListener(new WL());
        aFrame.add(applet, BorderLayout.CENTER);
        aFrame.setSize(300,200);
        applet.init();
        applet.start();
        aFrame.setVisible(true);
    }
CalculetteN :
 
 

 
  

 

Un autre Calculette
//CalculetteNC
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class CalculetteNC
extends Applet {
    String arg="";
    int rezVal=0;
    Button number[] = new Button[10];
    Button func[] = new Button[6];
    Panel num_panel;
    Panel func_panel;
    Panel rez_panel;
    TextField rez;
    char oper;


    public void init(){
        oper = ' ';
        setLayout(null);

        num_panel = new Panel();
        num_panel.setLayout(new GridLayout(4,3));
        for(int i=9; i>=0; i--){
            number[i] = new Button(""+i);
            number[i].addActionListener(new BN());
            num_panel.add(number[i]);
        }

        func[0] = new Button("C");
        func[0].addActionListener(new C());
        num_panel.add(func[0]);

        func[1] = new Button("=");
        func[1].addActionListener(new OPER());
        num_panel.add(func[1]);
        num_panel.setBounds(20,100,180,180);
        add( num_panel);

        func_panel = new Panel();
        func_panel.setLayout(new GridLayout(4,1));
        func[2] = new Button("+");
        func[2].addActionListener(new OPER());
        func_panel.add(func[2]);

        func[3] = new Button("-");
        func[3].addActionListener(new OPER());
        func_panel.add(func[3]);

        func[4] = new Button("*");
        func[4].addActionListener(new OPER());
        func_panel.add(func[4]);

        func[5] = new Button("^");
        func[5].addActionListener(new OPER());
        func_panel.add(func[5]);


        func_panel.setBounds(210,100,65,180);
        add(func_panel);


        rez_panel = new Panel();
        rez = new TextField("0",10);
        rez.setEditable(false);
        rez_panel.add(rez);
        rez_panel.setBounds(20,20,240,40);
        add(rez_panel);

    }

    class BN implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            arg += e.getActionCommand();
            rez.setText(arg);
        }
    }

    class OPER implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            int i,help,argi=0;
            try{
                argi=Integer.parseInt(arg);
            }
            catch(NumberFormatException ex){}
            switch(oper){
            case '+': rezVal += argi;break;
            case '-': rezVal -= argi;break;
            case '*': rezVal *= argi;break;
            case '=': oper = ' ';break;
            case '^': for(i=1,help=rezVal; i < argi;i++)
                rezVal *=help;
            break;
            case ' ': rezVal= argi;
            }
            rez.setText(rezVal+"");
            arg = "";
            oper = e.getActionCommand().charAt(0);
        }
    }

    class C implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            arg = "";
            rezVal =0;
            oper = ' ';
            rez.setText(rezVal+"");
        }
    }

//    To close the application:
    static class WL extends WindowAdapter {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    }

//    A main() for the application:
    public static void main(String[] args) {
        CalculetteNC applet = new CalculetteNC();
        Frame aFrame = new Frame("CalculetteNC");
        aFrame.addWindowListener(new WL());
        aFrame.add(applet, BorderLayout.CENTER);
        aFrame.setSize(400,400);
        applet.init();
        applet.start();
        aFrame.setVisible(true);
    }
}
CalculetteNC :
 
 


 

page précédantetable des matièrespage suivante