ola, resolvi fazer a calculadora com botoes, e fiz. ficou bem legal. se melhorar o visual, fica nota 10.
nao que nao esteje bom, mas posso melhorar um pouco, colocando um nome, um gráfico etc...
vou ver, por enquanto la vai o codigo...
abraço. valeu o estudo... segue aí boas dicas para quem é do java basico, avançado, enfim...
/*
* Calculadora.java
*
* Created on 10 de Janeiro de 2004, 02:45
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package testes;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
class Calculadora extends JFrame implements ActionListener{
JButton espaco=new JButton("");
JButton espaco2=new JButton("");
JButton espaco3=new JButton("");
JButton mais=new JButton("+");
JButton menos=new JButton("-");
JButton vezes=new JButton("*");
JButton dividir=new JButton("/");
JButton zero=new JButton("0");
JButton um=new JButton("1");
JButton dois=new JButton("2");
JButton tres=new JButton("3");
JButton quatro=new JButton("4");
JButton cinco=new JButton("5");
JButton seis=new JButton("6");
JButton sete=new JButton("7");
JButton oito=new JButton("8");
JButton nove=new JButton("9");
JButton igual=new JButton("=");
JButton CE=new JButton("CE");
//static double num1,num2,numeros,result;
Scanner numeros = new Scanner(System.in);
String sinal;
int num1;
int num2;
int result;
JTextField mostrador;
JPanel calc;
public Calculadora(){
setTitle("calculadora guj");
setResizable(true);
setSize(600, 600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setBackground(Color.yellow);
mais.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
menos.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
vezes.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
dividir.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
zero.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
um.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
dois.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
tres.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
quatro.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
cinco.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
seis.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
sete.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
oito.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
nove.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
igual.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
calc= new JPanel();
calc.setLayout( new GridLayout(5,3));
mostrador= new JTextField("");
mostrador.setSize(100,20);
mostrador.setFont (new Font ("Sans Serif", Font.BOLD,28 ) );
calc.add(mostrador);
calc.add(um);
calc.add(dois);
calc.add(tres);
calc.add(quatro);
calc.add(cinco);
calc.add(seis);
calc.add(sete);
calc.add(oito);
calc.add(nove);
calc.add(zero);
calc.add(mais);
calc.add(menos);
calc.add(vezes);
calc.add(dividir);
calc.add(igual);
calc.add(CE);
calc.add(espaco);
calc.add(espaco2);
calc.add(espaco3);
add(calc);
CE.addActionListener(this);
mais.addActionListener(this);
menos.addActionListener(this);
vezes.addActionListener(this);
dividir.addActionListener(this);
igual.addActionListener(this);
zero.addActionListener(this);
um.addActionListener(this);
dois.addActionListener(this);
tres.addActionListener(this);
quatro.addActionListener(this);
cinco.addActionListener(this);
seis.addActionListener(this);
sete.addActionListener(this);
oito.addActionListener(this);
nove.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == CE) {
CE();
}
if (e.getSource() == mais) {
operMais();
}
if (e.getSource() == menos) {
operMenos();
}
if (e.getSource() == dividir) {
operDiv();
}
if (e.getSource() == vezes) {
operVezes();
}
if (e.getSource() == zero) {
String apice= mostrador.getText();
String vaiLa=apice+"0";
mostrador.setText(vaiLa);
}
if (e.getSource() == um) {
String apice2= mostrador.getText();
String vaiLa2=apice2+"1";
mostrador.setText(vaiLa2);
}
if (e.getSource() == dois) {
String apice3= mostrador.getText();
String vaiLa3=apice3+"2";
mostrador.setText(vaiLa3);
}
if (e.getSource() == tres) {
String apice4= mostrador.getText();
String vaiLa4=apice4+"3";
mostrador.setText(vaiLa4);
}
if (e.getSource() == quatro) {
String apice5= mostrador.getText();
String vaiLa5=apice5+"4";
mostrador.setText(vaiLa5);
}
if (e.getSource() == cinco) {
String apice6= mostrador.getText();
String vaiLa6=apice6+"5";
mostrador.setText(vaiLa6);
}
if (e.getSource() == seis) {
String apice7= mostrador.getText();
String vaiLa7=apice7+"6";
mostrador.setText(vaiLa7);
}
if (e.getSource() == sete) {
String apice8= mostrador.getText();
String vaiLa8=apice8+"7";
mostrador.setText(vaiLa8);
}
if (e.getSource() == oito) {
String apice9= mostrador.getText();
String vaiLa9=apice9+"8";
mostrador.setText(vaiLa9);
}
if (e.getSource() == nove) {
String apice10= mostrador.getText();
String vaiLa10=apice10+"9";
mostrador.setText(vaiLa10);
}
if (e.getSource() == igual) {
igual();
}
// String apice= "";
// String vaiLa="";
}
public void um(){
mostrador.setText("1");
}
public void igual() {
if (sinal.equals("+")) {
// mostrador.setText("");
num2=Integer.parseInt(mostrador.getText());
result=num1+num2;
// mostrador.setText("");
mostrador.setText(""+result);
num1=0;
num2=0;
}
if (sinal.equals("-")) {
num2=Integer.parseInt(mostrador.getText());
result=num1-num2;
mostrador.setText(""+result);
num1=0;
num2=0;
}
if (sinal.equals("*")) {
num2=Integer.parseInt(mostrador.getText());
result=num1*num2;
mostrador.setText(""+result);
num1=0;
num2=0;
}
if (sinal.equals("/")) {
num2=Integer.parseInt(mostrador.getText());
result=num1/num2;
mostrador.setText(""+result);
num1=0;
num2=0;
}
}
public void operMais(){
num1= Integer.parseInt(mostrador.getText());
sinal="+";
mostrador.setText("");
}
public void operMenos(){
num1= Integer.parseInt(mostrador.getText());
sinal="-";
mostrador.setText("");
}
public void operVezes(){
num1= Integer.parseInt(mostrador.getText());
sinal="*";
mostrador.setText("");
}
public void operDiv(){
num1= Integer.parseInt(mostrador.getText());
sinal="/";
mostrador.setText("");
}
public void CE() {
mostrador.setText("");
}
public static void main(String args[]){
new Calculadora().setVisible(true);
}
}