Java - calculadora en jbuilder

 
Vista:

calculadora en jbuilder

Publicado por Nea! (2 intervenciones) el 10/09/2007 23:18:24
Hola a todos..!!!

mi problema es el siguiente me dejaron como trabajo hacer una calculadora como la de windows y lo q quiero hecer es prograamr mis botones para q sumen, resten ,multi.... constantemente y no solo sumen 2 valores.... el boton sumar funciona perfectamente pero... los otros... tienen unos errores bien raros...!!

y ademas quieren q la calculadora pueda ejacutar operaciones desd el teclado y se supone q ocupo eventos como keypressed, keytyped o keystroke.... no se
el problema es q no sse como utilizarlo ....!!! :S .... :@ jejeje

he aqui el codigo de mi calculadora..!!!
package ejemplo1;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.border.TitledBorder;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyListener;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author Lastenia Morell
* @version 1.0
*/
public class otrowinmain extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JTextField txtvalor = new JTextField();
JButton btn1 = new JButton();
JButton btn2 = new JButton();...

public otrowinmain() {
try
{
jbInit();
}
catch (Exception exception)
{
exception.printStackTrace();
}
}
//probando no tengo idea alguna de como utilizar esto....!!! por eso solo esta como etiqueta!!! :S.....!!!!!!!!!!!!!
/*public class Jtexfield extends JFrame implements KeyListener {
private String linea1 = "", linea2 = "";
private String linea3 = "";

// lista.addKeyListener(this);
public void keyPressed(KeyEvent e) {
linea1 = "Tecla presionada: " + e.getKeyText(e.getKeyCode());
seteaLineas2y3(e);
}
public void keyReleased(KeyEvent e) {
linea1 = "Tecla soltada: " + e.getKeyText(e.getKeyCode());
seteaLineas2y3(e);
}
public void keyTyped(KeyEvent e) {
linea1 = "Tecla tipeada: " + e.getKeyChar();
seteaLineas2y3(e);
}
private void seteaLineas2y3(KeyEvent e) {
linea2 = "Esta tecla, " + ( e.isActionKey() ? "" : "no " ) + "es una tecla de acción";
String temp = e.getKeyModifiersText( e.getModifiers() );
linea3 = "Modifica tecla presionada: " + ( temp.equals( "" ) ? "no" : temp );
txtvalor.setText(linea1 + "\n" + linea2 + "\n" + linea3 + "\n" );
}
/*public void keyTyped(KeyEvent e) {
displayInfo(e, "KEY TYPED: ");
}

public void keyPressed(KeyEvent e) {
displayInfo(e, "KEY PRESSED: ");
}

public void keyReleased(KeyEvent e) {
displayInfo(e, "KEY RELEASED: ");
}*/

/* protected void displayInfo(KeyEvent e, String s) {

char c = e.getKeyChar();
int keyCode = e.getKeyCode();
int modifiers = e.getModifiers();
}
}*/


public void btnac_actionPerformed(ActionEvent e) {//boton de limpiar
txtvalor.setText("");
numero = "";
acumulado = 0;
}

public void btn1_actionPerformed(ActionEvent e) {
numero+= 1;
txtvalor.setText(numero);
}

public void btnmulti_actionPerformed(ActionEvent e) {
acumulado= acumulado* Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));

//numero = txtvalor.getText();
acumulado = Integer.parseInt(numero);
boton =3;
numero = "";
}

public void btnsuma_actionPerformed(ActionEvent e) {
acumulado += Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));

numero = txtvalor.getText();
acumulado = Integer.parseInt(numero);

boton = 1;
numero = "";
}

public void btndividir_actionPerformed(ActionEvent e) {
numero=txtvalor.getText();
acumulado /= Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));

boton = 4;
acumulado = Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));
//Mantiene el valor acumulado en pantalla
numero = "";

}

public void btnigual_actionPerformed(ActionEvent e) {

if (boton == 0) {
txtvalor.setText("0");
acumulado =0;
numero = "";
}
if (boton == 1) {
acumulado += Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));
acumulado = 0;
numero = "";
}
if (boton == 2) {
acumulado -= Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));
acumulado = 0;
numero = "";
}
if (boton == 3) {
acumulado *= Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));
acumulado = 0;
numero = "";
}
if (boton == 4) {
acumulado /= Integer.parseInt(numero);
txtvalor.setText(Integer.toString(acumulado));
acumulado = 0;
numero = "";
}

}

class otrowinmain_btndividir_actionAdapter implements
ActionListener {
private otrowinmain adaptee;
otrowinmain_btndividir_actionAdapter(otrowinmain adaptee) {
this.adaptee = adaptee;
}
....


public void btn2_actionPerformed(ActionEvent e) {
numero += 2;
txtvalor.setText(numero);
}

public void btn3_actionPerformed(ActionEvent e) {
numero += 3;
txtvalor.setText(numero);
}

public void btn4_actionPerformed(ActionEvent e) {
numero += 4;
txtvalor.setText(numero);
}

public void btn6_actionPerformed(ActionEvent e) {
numero += 6;
txtvalor.setText(numero);
}

public void btn7_actionPerformed(ActionEvent e) {
numero += 7;
txtvalor.setText(numero);
}

public void btn8_actionPerformed(ActionEvent e) {
numero += 8;
txtvalor.setText(numero);
}

public void btn9_actionPerformed(ActionEvent e) {
numero += 9;
txtvalor.setText(numero);
}

public void btn0_actionPerformed(ActionEvent e) {
numero += 0;
txtvalor.setText(numero);
}

public void btnresta_actionPerformed(ActionEvent e) {

acumulado= acumulado-(Integer.parseInt(numero));
txtvalor.setText(Integer.toString(acumulado));
acumulado = Integer.parseInt(numero);

numero = txtvalor.getText();
boton = 2;
numero = "";
}

public void jMenuItem1_actionPerformed(ActionEvent e) {
this.dispose();
}
public void jButton2_actionPerformed(ActionEvent e) {
numero += 5;
txtvalor.setText(numero);
}
public void txtvalor_actionPerformed(ActionEvent e) {
}

public void txtvalor_keyPressed(KeyEvent e) {
??????
}
}

...
}

please someone help me.....!!!!!!!!!!

Atte Lastenia Morell
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:calculadora en jbuilder

Publicado por Elvis (5 intervenciones) el 11/09/2007 05:38:42
Hola como estas.

Veo que utilizas JBuilder, la verdad es que ahora mismo estoy muy desesperado porque estoy realizando un proyecto y necesito un paquete que me falta. Este paquete viene incluido en JBuilder y se llama beandt.jar, que es el que se utiliza para usar las clases del paquete dbswing, porfavor necesito que me envies este paquete.

mi email es [email protected] o [email protected]

Hasme este favor que estoy muy desesperado y no tengo tiempo.

Gracias !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculadora en jbuilder

Publicado por Nea (2 intervenciones) el 13/09/2007 18:13:44
Bueno chico Te envie el paquete beandt.jar a tu correo!!!
spero q te sirva ok...???

Bay...!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculadora en jbuilder

Publicado por angel (2 intervenciones) el 25/11/2007 01:14:10
a mi tambien me enviaron hacer una calculadora en jbuilder y necestio todo el codigop ya solo para presentar me ayudas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculadora en jbuilder

Publicado por angel (2 intervenciones) el 25/11/2007 01:15:29
a mi tambien me enviaron hacer una calculadora en jbuilder y necestio todo el codigop ya solo para presentar me ayudas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculadora en jbuilder

Publicado por miguel (8 intervenciones) el 05/03/2008 19:06:51
Creo que te sera mas facil si consideras que el cuadro de texto donde salen los numeros es un string.

Asi por ejemplo para que se impriman los numeros te dejo este codigo:

jTextfield1.setText(jTextField1.getText()+"9"); jTextFiled1 es el nombre del cuadro de texto y el 9 el valor que quieres que se imprima, en esta caso el valor del boton 9.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por calculadora

Publicado por monik (1 intervención) el 13/11/2009 22:12:17
como hago para hecer funcionar la multiplicacion y la division

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ventanacalculadora implements ActionListener{
JFrame frame;
JPanel panelSuperior, panelInferior;
JButton bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, bt0, btRT, btCE, btCL, btMas, btMenos,
btMul, btDiv, btIgual, btMN, btPunto;
JTextField area;
double suma_temporal,resta_temporal,multi_temporal,div_temporal,igualdad;
boolean operacion=false,pulsadigito=false;
public ventanacalculadora(){
areasuperior();
areainferior();
crearventana();
}
void areasuperior(){
panelSuperior = new JPanel ();
panelSuperior.setLayout(new FlowLayout());
area= new JTextField(20);
area.setHorizontalAlignment(JTextField.RIGHT);
area.setEditable(false);
panelSuperior.add(area);
}
void areainferior(){
panelInferior= new JPanel();
panelInferior.setLayout(new GridLayout(5,4,8,8));
bt1=new JButton("1");
bt2=new JButton("2");
bt3=new JButton("3");
bt4=new JButton("4");
bt5=new JButton("5");
bt6=new JButton("6");
bt7=new JButton("7");
bt8=new JButton("8");
bt9=new JButton("9");
bt0=new JButton("0");
btRT=new JButton("Rtc");
btCE=new JButton("CE");
btCL=new JButton("CL");
btMas=new JButton("+");
btMenos=new JButton("-");
btMul=new JButton("x");
btDiv=new JButton("/");
btIgual=new JButton("=");
btMN=new JButton("+/-");
btPunto=new JButton(".");
panelInferior.add(btRT);
panelInferior.add(btCE);
panelInferior.add(btCL);
panelInferior.add(btMN);
panelInferior.add(bt7);
panelInferior.add(bt8);
panelInferior.add(bt9);
panelInferior.add(btDiv);
panelInferior.add(bt4);
panelInferior.add(bt5);
panelInferior.add(bt6);
panelInferior.add(btMul);
panelInferior.add(bt1);
panelInferior.add(bt2);
panelInferior.add(bt3);
panelInferior.add(btMenos);
panelInferior.add(bt0);
panelInferior.add(btPunto);
panelInferior.add(btIgual);
panelInferior.add(btMas);
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
bt4.addActionListener(this);
bt5.addActionListener(this);
bt6.addActionListener(this);
bt7.addActionListener(this);
bt8.addActionListener(this);
bt9.addActionListener(this);
bt0.addActionListener(this);
btRT.addActionListener(this);
btCE.addActionListener(this);
btCL.addActionListener(this);
btMas.addActionListener(this);
btMenos.addActionListener(this);
btMul.addActionListener(this);
btDiv.addActionListener(this);
btIgual.addActionListener(this);
btMN.addActionListener(this);
btPunto.addActionListener(this);
}
void crearventana(){
frame =new JFrame("Calculadora ");
frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
frame.add(panelSuperior);
frame.add(panelInferior);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public double sumardosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
suma_temporal = suma_temporal + num1;
resultado = suma_temporal;
return resultado;
}
public double restardosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
resta_temporal = num1 - resta_temporal;
resultado = resta_temporal;
return resultado;
}
public double multiplicadosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
multi_temporal= multi_temporal *num1;
resultado = multi_temporal;
return resultado;
}
public double dividirdosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
div_temporal= div_temporal / num1;
resultado = div_temporal;
return resultado;
}
public double igualnums(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
}
igualdad = igualdad ;
resultado = igualdad;
return resultado;
}
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
String cadena,cadenaCE;
double result;
int longitud_cadena;
if ( obj == bt1 )
{
if (operacion==false)
{
cadena=area.getText()+"1";
area.setText(cadena);
}
else if (operacion)
{
cadena="1";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt2 )
{
if (operacion==false)
{
cadena=area.getText()+"2";
area.setText(cadena);
}
else if (operacion)
{
cadena="2";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt3 )
{
if (operacion==false)
{
cadena=area.getText()+"3";
area.setText(cadena);
}
else if (operacion)
{
cadena="3";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt4 )
{
if (operacion==false)
{
cadena=area.getText()+"4";
area.setText(cadena);
}
else if (operacion)
{
cadena="4";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt5 )
{
if (operacion==false)
{
cadena=area.getText()+"5";
area.setText(cadena);
}
else if (operacion)
{
cadena="5";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt6 )
{
if (operacion==false)
{
cadena=area.getText()+"6";
area.setText(cadena);
}
else if (operacion)
{
cadena="6";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt7 )
{
if (operacion==false)
{
cadena=area.getText()+"7";
area.setText(cadena);
}
else if (operacion)
{
cadena="7";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt8 )
{
if (operacion==false)
{
cadena=area.getText()+"8";
area.setText(cadena);
}
else if (operacion)
{
cadena="8";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt9 )
{
if (operacion==false)
{
cadena=area.getText()+"9";
area.setText(cadena);
}
else if (operacion)
{
cadena="9";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt0 )
{
if (operacion==false)
{
cadena=area.getText()+"0";
area.setText(cadena);
}
else if (operacion)
{
cadena="0";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == btRT )
{
}
else if ( obj == btCE )
{
cadena=area.getText();
longitud_cadena=cadena.length();
if (longitud_cadena > 0)
{
cadena=cadena.substring(0, longitud_cadena-1);
area.setText(cadena);
}
}
else if ( obj == btCL )
{
cadena="";
suma_temporal=0d;
resta_temporal=0d;
multi_temporal=0d;
div_temporal=0d;
area.setText(cadena);
}
else if ( obj == btMas )
{
operacion=true;
result=sumardosnum();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btMenos )
{
operacion=true;
result=restardosnum();
area.setText("-");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btMul )
{
operacion=true;
result=multiplicadosnum();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btDiv )
{
operacion=true;
result=dividirdosnum();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;

}
else if ( obj == btIgual )
{
operacion=true;
result=igualnums();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btMN )
{
cadena=area.getText();
if (cadena.startsWith("-"))
{
longitud_cadena=cadena.length();
cadena=cadena.substring(1, longitud_cadena);
area.setText(cadena);
}
else
{
cadena="-"+area.getText();
area.setText(cadena);
}
}
else if ( obj == btPunto )
{
}
}
public static void main(String arg[]) {
new ventanacalculadora();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar