2020. szeptember 8., kedd

Számológép készítése grafikus java program

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class SzamolApplet extends Applet implements ActionListener, TextListener {
 public TextField x=new TextField(); //egysoros szövegdoboz létrehozása
 public Label op=new Label("?"); //címkedoboz létrehozása
 public TextField y=new TextField();
 public Label eq=new Label("=");
 public TextField z=new TextField();
 public Button plus=new Button("x+y"); //gomb létrehozása
 public Button minus=new Button("x-y");
 public Button mul=new Button("x*y");
 public Button div=new Button("x/y");
 public Button pow=new Button("x^y");
 private int bpos=5,bwidth=50;
 private Font f=new Font("Courier",Font.BOLD,12);
 public void init() {
  setBackground(new Color(255, 175, 175)); //pink
  setLayout(null); //automatikus elrendezés kikapcsolása
  x.setBackground(new Color(160, 255, 255)); //~lightcyan
  x.setBounds(5,5,50,20); //az x szövegdoboz határainak beállítása
  add(x);
  x.addTextListener(this);
  op.setBounds(60,5,20,20);
  op.setAlignment(Label.CENTER);
  add(op);
  y.setBackground(new Color(160, 255, 255)); //~lightcyan
  y.setBounds(85,5,50,20); //az y szövegdoboz határainak beállítása
  add(y);
  y.addTextListener(this);
  eq.setBounds(144,5,20,20);
  eq.setAlignment(Label.CENTER);
  add(eq);
  z.setBackground(new Color(160, 255, 255)); //~lightcyan
  z.setBounds(172,5,103,20);
  add(z);
// műveleteket végrehajtó gombok
  plus.setBackground(new Color(192, 192, 192)); //lightgray
  plus.setFont(f);
  plus.setBounds(5,35,bwidth,20);
  bpos+=bwidth+5;
  add(plus);
  plus.setActionCommand("+");
  plus.addActionListener(this); //gomb lenyomásának figyelése
  minus.setBackground(new Color(192, 192, 192)); //lightgray
  minus.setFont(f);
  minus.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(minus);
  minus.setActionCommand("-");
  minus.addActionListener(this); //gomb lenyomásának figyelése
  mul.setBackground(new Color(192, 192, 192)); //lightgray
  mul.setFont(f);
  mul.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(mul);
  mul.setActionCommand("*");
  mul.addActionListener(this); //gomb lenyomásának figyelése
  div.setBackground(new Color(192, 192, 192)); //lightgray
  div.setFont(f);
  div.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(div);
  div.setActionCommand("/");
  div.addActionListener(this); //gomb lenyomásának figyelése
  pow.setBackground(new Color(192, 192, 192)); //lightgray
  pow.setFont(f);
  pow.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(pow);
  pow.setActionCommand("^");
  pow.addActionListener(this); //gomb lenyomásának figyelése
  }
 public void actionPerformed(ActionEvent ev) {
  double a,b;
  try {
   a=(new Double(x.getText())).doubleValue(); //konvertálás valós számmá
   b=(new Double(y.getText())).doubleValue(); //konvertálás valós számmá
   switch(ev.getActionCommand().charAt(0)) {
   case '+':
    op.setText("+");
    z.setText(""+(a+b)); //szöveg beírása a z szövegdobozba
    break;
   case '-':
    op.setText("-");
    z.setText(""+(a-b)); //szöveg beírása a z szövegdobozba
    break;
   case '*':
    op.setText("*");
    z.setText(""+(a*b)); //szöveg beírása a z szövegdobozba
    break;
   case '/':
    op.setText("/");
    z.setText(""+(a/b)); //szöveg beírása a z szövegdobozba
    break;
   case '^':
    op.setText("^");
    z.setText(""+Math.pow(a,b)); //szöveg beírása a z szövegdobozba
    break;
   }
   }
  catch(Exception ex) {
   z.setText("Hiba!");
   }
  validate(); //a változások érvényesítése
  }
 public void textValueChanged(TextEvent ev) {
   op.setText("?");
   z.setText(""); //megváltozott x vagy y értéke, ezért a korábbi eredmény törlődik
  }
 public void paint(Graphics g) {
  g.setFont(new Font("Courier NEW CE",Font.BOLD,14));
  g.drawString("Számológép 1.0",5,80);
  }
 }

Nincsenek megjegyzések:

Megjegyzés küldése