Calculadora

sindy1032

Lanero Regular
26 Oct 2006
2
hola me mandaron a hacer una calculadora en eclipse con botones.. igualita a la de windows no se como hacerla si alguien puede se lo agradeceria muchisimo
 

Mäitte

P.E.T ∞ + 1
24 Mar 2006
3,613
sindy1032 te damos la bienvenida a la Comunidad de LANeros.com

Esperamos que te pongas a tono con lo que nos mueve a muchos aquí... La ¡ADICCIÓN DIGITAL!

Visita las secciones de:
Móviles: Todo para tu celular. Desbloqueos, Ringtones, Temas, Aplicaciones y Juegos.
Windows: Para aprender trucos y programas.
Juegos: Donde encontrarás informacion sobre todos los juegos para PC actuales
General: Para hacer amigos y hablar de cualquier tema que creas interesante para compartir.

Que disfrutes de esta Adicción Digital.
 

Oesoto

Director de Comunidad
Miembro del equipo
Lanero VIP
28 Abr 2004
27,046
Gracias por mover el tema.

El problema se divide en dos partes.

1 - Implementar la interfaz gráfica de la calculadora. Para esto Eclipse es de mucha ayuda porque se le puede integrar el Visual Editor, para construir las interfaces gráficas arrastrando y soltando botones.

Para esto es pre requisito tener Eclipse y luego visitar esta página

http://download.eclipse.org/tools/ve/downloads/drops/R-1.2.1-200609261748/index.html

Bajar EMF build 2.2.0 y GEF Build 3.2 y de esa pagína bajar VE-runtime-1.2.1

Estos 3 paquetes se deben descomprimir e integrar a la carpeta de Eclipse para que el plugin quede integrado con el entorno de desarrollo.

Hecho esto en el proyecto de Eclipse se podrá crear una VISUAL CLASS que usará el plugin para hacer el diseño de la interfaz. El plugin genera automáticamente el código y los bloques de código para los ActionPerformed de cada uno de los botones de la calculadora.

Hay que familiarizarse en esta parte con los métodos getText y setText para los TextBoxes de la interfaz que es donde se mostrarán los resultados.

2 - La clase calculadora. Es una clase normal de Java donde estarán todos los métodos de la calculadora (suma, resta, raiz, logaritmo, etc)

Aquí es muy importante usar la clase java.lang.math

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html

Las operaciones que no estén implementadas ya tocará hacerlas desde 0 combinando varias operaciones matemáticas. Todos estos métodos recibirán los parametros de la clase de la interfaz gráfica previamente convertidos a Int, Double, Long, etc según sea el caso.

Ese es mas o menos el curso a seguir en este caso.

Mucha suerte

PD: Movido finalmente al foro de programación.
 
  • Me gusta
Reacciones: 2 personas

galatas

Lanero Regular
27 Oct 2006
6
puedes utilizar netBeas que es un editor java. La interfaZ la puedes hacer arastrando botones.
ya hice una con este editor y me que perfecta
 

alejo163

Lanero Reconocido
27 Jun 2005
1,999
pues hace mucho, en mis inicios tuve que hacer una...

espera a ver si la encuentro..

PHP:
package operaciones;
@ author Alejandro Puerto León
class Operar {

    public int suma(int a, int b){
        int resultado=a+b;
        return resultado;
    }
    
    public int resta(int a, int b){
        int resultado=a-b;
        return resultado;
    }
    
    public int multiplicacion(int a, int b){
        int c=a*b;
        return c;
    }
    
    public Double division(Double a, Double b){
        Double c=a/b;
        return c;
    }
    
    public Double raiz(Double a){
        Double b=Math.sqrt(a);
        return b;
    }
    
    public Double potencia(Double a, Double b){
        Double c=Math.pow(a, b);
        return c;
    }
    
    
    
}
PHP:
package gui;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextField;

import operaciones.Operar;
 @ author Alejandro Puerto León
class Pantalla extends JDialog implements ActionListener{

    JButton b0;
    JButton b1;
    JButton b2;
    JButton b3;
    JButton b4;
    JButton b5;
    JButton b6;
    JButton b7;
    JButton b8;
    JButton b9;
    JButton bsuma;
    JButton bresta;
    JButton bmulti;
    JButton bdiv;
    JButton braiz;
    JButton bpot;
    JButton bigual;
    JButton bclear;
    
    JTextField jtf1;
    
    JPanel p1;
    JPanel p2;
    static JPanel p3;
    static JPanel p4;
    
    public String opcion;
    public String suma1;
    int opcion2=0;
    Operar op=new Operar();
    
    
    public static void main(String[] args) {

        Pantalla calc = new Pantalla();
        calc.setTitle("Calculdora");
        calc.setSize(290, 190);
        calc.setLocation(350, 200);
        p4.add(p3);
        calc.add(p4);
        calc.setVisible(true);

    }

    Pantalla() {
        b0 = new JButton("0");
        b1 = new JButton("1");
        b2 = new JButton("2");
        b3 = new JButton("3");
        b4 = new JButton("4");
        b5 = new JButton("5");
        b6 = new JButton("6");
        b7 = new JButton("7");
        b8 = new JButton("8");
        b9 = new JButton("9");
        bsuma = new JButton("+");
        bresta = new JButton("-");
        bmulti = new JButton("*");
        bdiv = new JButton("/");
        braiz = new JButton("SQRT");
        bpot = new JButton("^");
        bigual = new JButton("===");
        bclear = new JButton("Clear"); 
        
        jtf1 = new JTextField(10);
        
        p1 = new JPanel();
        p2 = new JPanel();
        p3 = new JPanel();
        p4 = new JPanel();

        p1.add(bigual);
        p1.add(jtf1);
        p1.add(bclear);
        p2.setLayout(new GridLayout(4, 4, 2, 2));
        p2.add(bsuma);
        p2.add(b1);
        p2.add(b2);
        p2.add(b3);
        p2.add(bresta);
        p2.add(b4);
        p2.add(b5);
        p2.add(b6);
        p2.add(bmulti);
        p2.add(b7);
        p2.add(b8);
        p2.add(b9);
        p2.add(bdiv);
        p2.add(braiz);
        p2.add(bpot);
        p2.add(b0);

        p3.setLayout(new BorderLayout());
        p3.add(p1, BorderLayout.NORTH);
        p3.add(p2, BorderLayout.CENTER);

        b0.addActionListener(this);
        b1.addActionListener(this);
        b2.addActionListener(this);
        b3.addActionListener(this);
        b4.addActionListener(this);
        b5.addActionListener(this);
        b6.addActionListener(this);
        b7.addActionListener(this);
        b8.addActionListener(this);
        b9.addActionListener(this);
        bsuma.addActionListener(this);
        bresta.addActionListener(this);
        bmulti.addActionListener(this);
        bdiv.addActionListener(this);
        braiz.addActionListener(this);
        bpot.addActionListener(this);
        bigual.addActionListener(this);
        bclear.addActionListener(this);

    }
}
te agrego lo demás?? no.. el actionPerformed te lo dejo a ti.... ya está lo "complicado" la interfaz tienes que esforzarte!!!