Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: fst091 en 07 de Noviembre 2016, 02:34
-
Hola compañeros, estoy empezando en este tema. El maestro me dejó como tarea crear una calculadora en JAVA GUI. Seguí exactamente los pasos que nos dio, pero al final no se logra mostrar el resultado, y también tengo problemas en borrar en el botón de borrar un numero a la vez(lo nombre btnClear) ¿Alguien podría ayudarme a terminar el programa?, de antemano gracias
package Parte_Final;
public class Calculadora extends javax.swing.JFrame {
int bandera_punto ;
double total1;
double total2;
char operador_mat;
public Calculadora() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
btnCero = new javax.swing.JButton();
btnUno = new javax.swing.JButton();
btnDos = new javax.swing.JButton();
btnTres = new javax.swing.JButton();
btnCuatro = new javax.swing.JButton();
btnCinco = new javax.swing.JButton();
btnSeis = new javax.swing.JButton();
btnSiete = new javax.swing.JButton();
btnOcho = new javax.swing.JButton();
btnNueve = new javax.swing.JButton();
btnPunto = new javax.swing.JButton();
btnDivision = new javax.swing.JButton();
btnMultiplicacion = new javax.swing.JButton();
btnResta = new javax.swing.JButton();
btnSuma = new javax.swing.JButton();
btnClear = new javax.swing.JButton();
btnClear2 = new javax.swing.JButton();
btnIgualA = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
Resultado = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle(" Calculadora de Java");
setBackground(new java.awt.Color(204, 204, 204));
setMinimumSize(new java.awt.Dimension(315, 370));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
btnCero.setBackground(new java.awt.Color(153, 153, 153));
btnCero.setText("0");
btnCero.setActionCommand("0");
btnCero.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCeroActionPerformed(evt);
}
});
getContentPane().add(btnCero, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 200, 90, -1));
btnUno.setBackground(new java.awt.Color(153, 153, 153));
btnUno.setText("1");
btnUno.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnUnoActionPerformed(evt);
}
});
getContentPane().add(btnUno, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, -1, -1));
btnDos.setBackground(new java.awt.Color(153, 153, 153));
btnDos.setText("2");
btnDos.setActionCommand("2");
btnDos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDosActionPerformed(evt);
}
});
getContentPane().add(btnDos, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 170, -1, -1));
btnTres.setBackground(new java.awt.Color(153, 153, 153));
btnTres.setText("3");
btnTres.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTresActionPerformed(evt);
}
});
getContentPane().add(btnTres, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 170, -1, -1));
btnCuatro.setBackground(new java.awt.Color(153, 153, 153));
btnCuatro.setText("4");
btnCuatro.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCuatroActionPerformed(evt);
}
});
getContentPane().add(btnCuatro, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, -1, -1));
btnCinco.setBackground(new java.awt.Color(153, 153, 153));
btnCinco.setText("5");
btnCinco.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCincoActionPerformed(evt);
}
});
getContentPane().add(btnCinco, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 140, -1, -1));
btnSeis.setBackground(new java.awt.Color(153, 153, 153));
btnSeis.setText("6");
btnSeis.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSeisActionPerformed(evt);
}
});
getContentPane().add(btnSeis, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 140, -1, -1));
btnSiete.setBackground(new java.awt.Color(153, 153, 153));
btnSiete.setText("7");
btnSiete.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSieteActionPerformed(evt);
}
});
getContentPane().add(btnSiete, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 110, -1, -1));
btnOcho.setBackground(new java.awt.Color(153, 153, 153));
btnOcho.setText("8");
btnOcho.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnOchoActionPerformed(evt);
}
});
getContentPane().add(btnOcho, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 110, -1, -1));
btnNueve.setBackground(new java.awt.Color(153, 153, 153));
btnNueve.setText("9");
btnNueve.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnNueveActionPerformed(evt);
}
});
getContentPane().add(btnNueve, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 110, -1, -1));
btnPunto.setBackground(new java.awt.Color(153, 153, 153));
btnPunto.setText(".");
btnPunto.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnPuntoActionPerformed(evt);
}
});
getContentPane().add(btnPunto, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 200, 40, -1));
btnDivision.setBackground(new java.awt.Color(153, 153, 153));
btnDivision.setText("/");
btnDivision.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDivisionActionPerformed(evt);
}
});
getContentPane().add(btnDivision, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 110, 50, -1));
btnMultiplicacion.setBackground(new java.awt.Color(153, 153, 153));
btnMultiplicacion.setText("*");
btnMultiplicacion.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnMultiplicacionActionPerformed(evt);
}
});
getContentPane().add(btnMultiplicacion, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 140, 50, -1));
btnResta.setBackground(new java.awt.Color(153, 153, 153));
btnResta.setText("-");
btnResta.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRestaActionPerformed(evt);
}
});
getContentPane().add(btnResta, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 170, 50, -1));
btnSuma.setBackground(new java.awt.Color(153, 153, 153));
btnSuma.setText("+");
btnSuma.setIconTextGap(3);
btnSuma.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSumaActionPerformed(evt);
}
});
getContentPane().add(btnSuma, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 200, 50, -1));
btnClear.setBackground(new java.awt.Color(153, 153, 153));
btnClear.setText("C");
btnClear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnClearActionPerformed(evt);
}
});
getContentPane().add(btnClear, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 110, 50, -1));
btnClear2.setBackground(new java.awt.Color(153, 153, 153));
btnClear2.setText("CE");
btnClear2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnClear2ActionPerformed(evt);
}
});
getContentPane().add(btnClear2, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 140, 50, -1));
btnIgualA.setBackground(new java.awt.Color(153, 153, 153));
btnIgualA.setText("=");
btnIgualA.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnIgualAActionPerformed(evt);
}
});
getContentPane().add(btnIgualA, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 170, 50, 60));
jLabel1.setBackground(new java.awt.Color(0, 51, 204));
jLabel1.setOpaque(true);
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 100, 280, 200));
Resultado.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ResultadoActionPerformed(evt);
}
});
getContentPane().add(Resultado, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, 250, 30));
pack();
}// </editor-fold>
private void btnDosActionPerformed(java.awt.event.ActionEvent evt) {
String btnDosTexto = Resultado.getText()+btnDos.getText();
Resultado.setText(btnDosTexto);
}
private void btnCeroActionPerformed(java.awt.event.ActionEvent evt) {
String btnCeroTexto = Resultado.getText()+btnCero.getText();
Resultado.setText(btnCeroTexto);
}
private void btnUnoActionPerformed(java.awt.event.ActionEvent evt) {
String btnUnoTexto = Resultado.getText()+btnUno.getText();
Resultado.setText(btnUnoTexto);
}
private void btnTresActionPerformed(java.awt.event.ActionEvent evt) {
String btnTresTexto = Resultado.getText()+btnTres.getText();
Resultado.setText(btnTresTexto);
}
private void btnCuatroActionPerformed(java.awt.event.ActionEvent evt) {
String btnCuatroTexto = Resultado.getText()+btnCuatro.getText();
Resultado.setText(btnCuatroTexto);
}
private void btnSeisActionPerformed(java.awt.event.ActionEvent evt) {
String btnSeisTexto = Resultado.getText()+btnSeis.getText();
Resultado.setText(btnSeisTexto);
}
private void btnOchoActionPerformed(java.awt.event.ActionEvent evt) {
String btnOchoTexto = Resultado.getText()+btnOcho.getText();
Resultado.setText(btnOchoTexto);
}
private void btnSumaActionPerformed(java.awt.event.ActionEvent evt) {
String texto_btn = btnSuma.getText();
getOperador(texto_btn);
}
private void btnRestaActionPerformed(java.awt.event.ActionEvent evt) {
String texto_btn = btnResta.getText();
getOperador(texto_btn);
}
private void btnClear2ActionPerformed(java.awt.event.ActionEvent evt) {
Resultado.setText("");
bandera_punto=0;
}
private void ResultadoActionPerformed(java.awt.event.ActionEvent evt) {
Resultado.setText(Double.toString(total2));
total1=0;
bandera_punto=0;
}
private void btnIgualAActionPerformed(java.awt.event.ActionEvent evt) {
switch (operador_mat){
case '+':
total2 = total1 + Double.parseDouble(Resultado.getText());
break;
case '-':
total2 = total1 - Double.parseDouble(Resultado.getText());
break;
case '*':
total2 = total1 * Double.parseDouble(Resultado.getText());
break;
case '/':
total2 = total1 / Double.parseDouble(Resultado.getText());
break;
}
}
private void btnMultiplicacionActionPerformed(java.awt.event.ActionEvent evt) {
String texto_btn = btnMultiplicacion.getText();
getOperador(texto_btn);
}
private void btnSieteActionPerformed(java.awt.event.ActionEvent evt) {
String btnSieteTexto = Resultado.getText()+ btnSiete.getText();
Resultado.setText(btnSieteTexto);
}
private void btnCincoActionPerformed(java.awt.event.ActionEvent evt) {
String btnCincoTexto = Resultado.getText()+btnCinco.getText();
Resultado.setText(btnCincoTexto);
}
private void btnNueveActionPerformed(java.awt.event.ActionEvent evt) {
String btnNueveTexto = Resultado.getText()+btnNueve.getText();
Resultado.setText(btnNueveTexto);
}
private void btnPuntoActionPerformed(java.awt.event.ActionEvent evt) {
if (bandera_punto == 0){
String btnPuntoTexto = Resultado.getText()+btnPunto.getText();
btnPunto.getText();
Resultado.setText(btnPuntoTexto);
bandera_punto=1;
}
}
private void btnDivisionActionPerformed(java.awt.event.ActionEvent evt) {
String texto_btn = btnDivision.getText();
getOperador(texto_btn);
}
private void getOperador(String btnTexto) {
operador_mat = btnTexto.charAt(0);
total1 = total1 + Double.parseDouble(Resultado.getText());
Resultado.setText("");
bandera_punto=0;
}
private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {
total2 =0;
Resultado.setText("");
bandera_punto=0;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Calculadora().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField Resultado;
private javax.swing.JButton btnCero;
private javax.swing.JButton btnCinco;
private javax.swing.JButton btnClear;
private javax.swing.JButton btnClear2;
private javax.swing.JButton btnCuatro;
private javax.swing.JButton btnDivision;
private javax.swing.JButton btnDos;
private javax.swing.JButton btnIgualA;
private javax.swing.JButton btnMultiplicacion;
private javax.swing.JButton btnNueve;
private javax.swing.JButton btnOcho;
private javax.swing.JButton btnPunto;
private javax.swing.JButton btnResta;
private javax.swing.JButton btnSeis;
private javax.swing.JButton btnSiete;
private javax.swing.JButton btnSuma;
private javax.swing.JButton btnTres;
private javax.swing.JButton btnUno;
private javax.swing.JLabel jLabel1;
// End of variables declaration
}
-
Buenos días.
No he podido comprobar tu codigo porque no tengo netbeans.Yo uso BlueJ y Eclipse.
En cualquier caso aqui te dejo el código de una calculadora a ver si puede servirte.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class calculadora implements ActionListener{
JTextField jt1, jt2;
Panel pN, pb1, pb3;
JPanel pS, pb2;
JButton mc, mr, ms, mMas, mMenos, numeros[], operaciones[];
String oper[]={"R", "C", "+", "/", "-" ,"*", "="}, ax="";
float n1, n2, nr, M;//variables para las operaciones
int tipOp; //para controlar el tipo de operacion que se realiza
boolean t=false;//control sobre escribir un nuevo numero despues de alguna operacion cambia a true cuando se ha realizado una operacion
public calculadora(){
JFrame jfMain = new JFrame("Calculator");
jfMain.setLayout(new BorderLayout(4, 4));
norte();
sur();
jfMain.add(pN, BorderLayout.NORTH);
jfMain.add(pS, BorderLayout.CENTER);
jfMain.setLocation(100, 80);
jfMain.setResizable(false);
jfMain.setVisible(true);
jfMain.setSize(300, 380);
jfMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void norte(){
pN = new Panel(null);
jt1 = new JTextField("");
jt2 = new JTextField("0");
jt1.setHorizontalAlignment(JTextField.RIGHT);
jt2.setHorizontalAlignment(JTextField.RIGHT);
//Quitar bordes a los campos de texto
jt1.setBorder(BorderFactory.createLineBorder(Color.white));
jt2.setBorder(BorderFactory.createLineBorder(Color.white));
//desabilitando los campos de texto
jt1.setEditable(false);
jt2.setEditable(false);
jt1.setBackground(Color.white);
jt2.setBackground(Color.white);
pN.add(jt1); pN.add(jt2);
jt1.setBounds(35, 10, 200, 15);
jt2.setBounds(35, 25, 200, 30);
pN.setSize(270, 47);
pN.setVisible(true);
}
public void sur(){
pS = new JPanel(new BorderLayout(6, 50));
pS.setLayout(new BorderLayout(4, 4));
botMem();
botNum();
botOpe();
pS.add(pb1, BorderLayout.NORTH);
pS.add(pb2, BorderLayout.CENTER);
pS.add(pb3, BorderLayout.EAST);
pS.setSize(270, 330);
}
public void botMem(){
pb1 = new Panel(null);
mc = new JButton("MC"); mr = new JButton("MR");
ms = new JButton("MS"); mMas = new JButton("M+");
mMenos = new JButton("M-");
mc.setFont(new Font("Arial", Font.BOLD, 11));
mr.setFont(new Font("Arial", Font.BOLD, 11));
ms.setFont(new Font("Arial", Font.BOLD, 11));
mMas.setFont(new Font("Arial", Font.BOLD, 11));
mMenos.setFont(new Font("Arial", Font.BOLD, 11));
mc.setMargin(new Insets(1, 1, 1, 1)); mr.setMargin(new Insets(1, 1, 1, 1));
ms.setMargin(new Insets(1, 1, 1, 1)); mMas.setMargin(new Insets(1, 1, 1, 1));
mMenos.setMargin(new Insets(1, 1, 1, 1));
mc.setBounds(35, 0, 33, 33); mr.setBounds(78, 0, 33, 33); ms.setBounds(121, 0, 33, 33);
mMas.setBounds(164, 0, 33, 33); mMenos.setBounds(207, 0, 33, 33);
pb1.add(mc); pb1.add(mr); pb1.add(ms); pb1.add(mMas); pb1.add(mMenos);
mc.addActionListener(this); mr.addActionListener(this); ms.addActionListener(this);
mMas.addActionListener(this); mMenos.addActionListener(this);
pb1.setSize(270, 45);
pb1.setVisible(true);
}
public void botNum(){
pb2 = new JPanel(null);
int nx3=121, nx2=121, nx1=121, n3y=0, n2y=43, n1y=86;
numeros = new JButton[11];
//*****************************************
//bloque para crear los botones, añadirlos y asignar numeros
for (int i=0; i<=10; i++){
if(i<=9){
numeros[i] = new JButton(""+i);
pb2.add(numeros[i]);
numeros[i].setMargin(new Insets(1, 1, 1, 1));
numeros[i].addActionListener(this);
}
else{
numeros[i] = new JButton(".");
pb2.add(numeros[i]);
numeros[i].setMargin(new Insets(1, 1, 1, 1));
numeros[i].addActionListener(this);
}
}
//******************************************
//bloque para posicionar botones
for(int i=10; i>=0; i--){
if(i==10){
numeros[i].setBounds(121, 129, 35, 35);
}
else{
if(i<=9 && i>=7){
numeros[i].setBounds(nx3, n3y, 35, 35);
nx3-=43;
}
else if(i<=6 && i>=4){
n3y+=43;
numeros[i].setBounds(nx2, n2y, 35, 35);
nx2-=43;
}
else if(i<=3 && i>=1){
n3y+=43;
numeros[i].setBounds(nx1, n1y, 35, 35);
nx1-=43;
}
else if(i==0){
numeros[i].setBounds(35, 129, 78, 35);
}
}
}
pb2.setSize(170, 150);
pb2.setVisible(true);
}
public void botOpe(){
pb3 = new Panel(null);
int c=0, x=0, y=0;
operaciones = new JButton[7];
for(int i=0; i<=6; i++){
if(c<=1){
operaciones[i] = new JButton(oper[i]);
pb3.add(operaciones[i]);
operaciones[i].setBounds(x, y, 30, 35);
operaciones[i].setMargin(new Insets(1, 1, 1, 1));
operaciones[i].addActionListener(this);
x+=33;
c++;
}
else{
if(i==6){
x=0; y+=43;
operaciones[i] = new JButton(oper[i]);
pb3.add(operaciones[i]);
operaciones[i].setBounds(x, y, 65, 35);
operaciones[i].setMargin(new Insets(1, 1, 1, 1));
operaciones[i].addActionListener(this);
x+=33;
c++;
}
else{
c=0;
x=0; y+=43;
operaciones[i] = new JButton(oper[i]);
pb3.add(operaciones[i]);
operaciones[i].setBounds(x, y, 30, 35);
operaciones[i].setMargin(new Insets(1, 1, 1, 1));
operaciones[i].addActionListener(this);
x+=33;
c++;
}
}
}
pb3.setVisible(true);
pb3.setSize(120, 200);
}
public boolean isN(String ax){
try{
int n = Integer.parseInt(ax);
return true;
}catch(NumberFormatException e){
return false;
}
}
@Override
public void actionPerformed(ActionEvent e) {
String op="";
if(isN(e.getActionCommand())){ //cuando se oprimen numeros
if(jt1.getText().equals("")){
ax += e.getActionCommand();
jt2.setText(ax);
}
else{
if(tipOp==0){
if(t){
ax="";
jt1.setText(jt2.getText());
ax += e.getActionCommand();
jt2.setText(ax);
t = false;
}
else{
ax="";
ax += jt2.getText()+e.getActionCommand();
jt2.setText(ax);
}
}else{
ax="";
ax += jt2.getText()+e.getActionCommand();
jt2.setText(ax);
}
}
}
else{//cuando se oprime el resto de botones
if(e.getActionCommand().equals("R") ){
jt1.setText("");
Float a = Float.parseFloat(jt2.getText());
jt2.setText(""+Math.sqrt(a));
}
if(e.getActionCommand().equals("C") ){ //para reiniciar valores y limpiar pantalla
tipOp=0; n1 = 0; n2 =0; nr=0; jt1.setText(""); jt2.setText("0"); ax="";
}
if(e.getActionCommand().equals("MC")){//para limpiar la memoria de la calculadora
ms.setForeground(Color.black);
jt1.setText(""); jt2.setText("0");
M=0;
}
if(e.getActionCommand().equals("MR")){//para mostrar valor almacenado en la memoria
jt1.setText("");
jt2.setText(String.valueOf(M));
}if(e.getActionCommand().equals("MS")){//guardar un valor en la memoria
ms.setForeground(Color.red);
M = Float.parseFloat(jt2.getText());
}
if(e.getActionCommand().equals("M+")){//sumar valor de la pantalla con el valor de la memoria
M += Float.parseFloat(jt2.getText());
}
if(e.getActionCommand().equals("M-")){//restar valor de la pantalla con el valor de la memoria
M -= Float.parseFloat(jt2.getText());
}
if(e.getActionCommand().equals(".")){//usar el punto para los decimales
ax="";
if(numeros[10].isEnabled()){
numeros[10].setEnabled(false);
ax = jt2.getText() +".";
jt2.setText(ax);
}
}
if(e.getActionCommand().equals("+") ){//boton suma
numeros[10].setEnabled(true);
ax="";
if(tipOp==1){
}else if(tipOp==0 ){//validacion para no chocar con otras operaciones
if(jt1.getText().equals("") ){
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText()+jt2.getText();
jt1.setText(ax+" + ");
jt2.setText("");
tipOp = 1;
}
else {
if(!t){//validacion para nueva operacion
n1 = Float.parseFloat(jt2.getText());
ax += jt2.getText();
jt1.setText(ax+" + ");
jt2.setText("");
tipOp = 1;
}
else{//usar otras operaciones con la suma
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText();
jt1.setText(ax+" + ");
jt2.setText("");
tipOp = 1;
}
}
}
}
if(e.getActionCommand().equals("-") ){//cuando se decide restar
numeros[10].setEnabled(true);
ax="";
if(tipOp==2){
}else if(tipOp==0){//validacion para no chocar con otras operaciones
if(jt1.getText().equals("")){
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText()+ jt2.getText();
jt1.setText(ax+" - ");
jt2.setText("");
tipOp = 2;
}
else{
if(!t){//validacion para nueva operacion
n1 = Float.parseFloat(jt2.getText());
ax += jt2.getText();
jt1.setText(ax+" - ");
jt2.setText("");
tipOp = 2;
}
else{//usar otras operaciones con la suma
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText();
jt1.setText(ax+" - ");
jt2.setText("");
tipOp = 2;
}
}
}
}
if(e.getActionCommand().equals("*") ){//cuando se decide multiplicar
numeros[10].setEnabled(true);
ax="";
if(tipOp==3){
}else if(tipOp==0){//validacion para no chocar con otras operaciones
if(jt1.getText().equals("")){
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText()+jt2.getText();
jt1.setText(ax+" * ");
jt2.setText("");
tipOp = 3;
}
else{
if(!t){//validacion para nueva operacion
n1 = Float.parseFloat(jt2.getText());
ax += jt2.getText();
jt1.setText(ax+" * ");
jt2.setText("");
tipOp = 3;
}
else{//usar otras operaciones con la suma
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText();
jt1.setText(ax+" * ");
jt2.setText("");
tipOp = 3;
}
}
}
}
if(e.getActionCommand().equals("/") ){//cuando se decide dividir
numeros[10].setEnabled(true);
ax="";
if(tipOp==4){
}else if(tipOp==0){//validacion para no chocar con otras operaciones
if(jt1.getText().equals("")){
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText()+jt2.getText();
jt1.setText(ax+" / ");
jt2.setText("");
tipOp = 4;
}
else{
if(!t){//validacion para nueva operacion
n1 = Float.parseFloat(jt2.getText());
ax += jt2.getText();
jt1.setText(ax+" / ");
jt2.setText("");
tipOp = 4;
}
else{//usar otras operaciones con la suma
n1 = Float.parseFloat(jt2.getText());
ax += jt1.getText();
jt1.setText(ax+" / ");
jt2.setText("");
tipOp = 4;
}
}
}
}
if(e.getActionCommand().equals("=") && !jt2.getText().equals("")){
t = true;
if(tipOp==1){//operacion para la suma
tipOp = 0;
ax="";
ax+=jt1.getText() + jt2.getText();
jt1.setText(ax);
n2 = Float.parseFloat(jt2.getText());
nr=n1+n2;
jt2.setText(String.valueOf(nr));
}
else if(tipOp==2){ //operacion para la resta
tipOp = 0;
ax="";
ax+=jt1.getText()+jt2.getText();
jt1.setText(ax);
n2 = Float.parseFloat(jt2.getText());
nr=n1-n2;
jt2.setText(String.valueOf(nr));
}
if(tipOp==3){ //operacion para la multiplicacion
tipOp = 0;
ax="";
ax+=jt1.getText()+jt2.getText();
jt1.setText(ax);
n2 = Float.parseFloat(jt2.getText());
nr=n1*n2;
jt2.setText(String.valueOf(nr));
}
if(tipOp==4){ //operacion para la multiplicacion
if(Float.parseFloat(jt2.getText())!=0){
tipOp = 0;
ax="";
ax+=jt1.getText()+jt2.getText();
jt1.setText(ax);
n2 = Float.parseFloat(jt2.getText());
nr=n1/n2;
jt2.setText(String.valueOf(nr));
}
else
JOptionPane.showMessageDialog(null, "No se puede realizar divison por 0");
}
}
}
}
public static void main(String[] args) {
new calculadora();}
Un saludo