Translate-Traducir

Mostrando entradas con la etiqueta ejercicio Java Maquina de Bebidas WindowBuilder. Mostrar todas las entradas
Mostrando entradas con la etiqueta ejercicio Java Maquina de Bebidas WindowBuilder. Mostrar todas las entradas

14/5/18

calculadora java windowbuilder

calculadora java eclipse

Este es un ejemplo de una calculadora hecha en java con el IDE eclipse y con el plugin de diseño WindowBuilder.

Este plugin nos ayuda a generar código de diseño de interfaces como Jframe y  JApplet para Webs
ya que de hacerlo manualmente tardaríamos mas.

Aquí dejo el código comentado.

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//import java.text.DecimalFormat;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;


public class calculadoraTutorial extends JFrame implements ActionListener{

/**Script hecho por David Ariel Mendez  para www.amigos-de-la-informatica.blogspot.com.es
* puedes modificar o mejorar el Script siempre que  menciones la pagina
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JButton button6;
private JButton button7;
private JButton button8;
private JButton button9;
private JButton button10;
private JButton button11;
private JButton buttonIgual;
private JButton buttonSuma;
private JButton buttonResta;
private JButton buttonMultipli;
private JButton buttonDivision;
private JButton buttonRaiz;
private JTextField texField_insertadodeDatos;
private JButton buttonlimpiar;
private JLabel label_muestraValores_Arriba;
///////////////////////////////////// A QUI ME DEFINO MIS VARIABLES QUE USARE PARA REALIZAR LAS //OPERACIONES//////////////////
String memoria1="";
String memoria2="";
String signo="";
String muestra_resultado_en_Text;
float resultadoSuma=0;
float resultadoResta=0;
float resultadoMultiplicacion=0;
float resultadoDivision=0;
float resultadoRaiz=0;
float numero1=0;
float numero2=0;





/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
calculadoraTutorial frame = new calculadoraTutorial();
frame.setVisible(true);
frame.setEnabled(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public calculadoraTutorial() {
setResizable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 401, 318);
contentPane = new JPanel();
setContentPane(contentPane);
contentPane.setLayout(null);
setTitle("amigos-de-la-informatica.blogspot.com.es");
setLocationRelativeTo(null);///////////////////////////////ESTO ES PARA MOSTRAR LA CALCULADORA EN EL MEDIO DEL //ORDENADOR//////////////////////


texField_insertadodeDatos = new JTextField();
texField_insertadodeDatos.setFont(new Font("Tahoma", Font.BOLD, 14));
texField_insertadodeDatos.setForeground(Color.BLACK);
texField_insertadodeDatos.setBackground(Color.WHITE);
texField_insertadodeDatos.setHorizontalAlignment(SwingConstants.CENTER);
texField_insertadodeDatos.setColumns(10);
texField_insertadodeDatos.setBounds(58, 43, 280, 34);
contentPane.add(texField_insertadodeDatos);

button1 = new JButton("1");
button1.setFont(new Font("Tahoma", Font.BOLD, 13));
button1.addActionListener(this);
button1.setBounds(58, 99, 62, 23);
contentPane.add(button1);


button2 = new JButton("2");
button2.setFont(new Font("Tahoma", Font.BOLD, 13));
button2.addActionListener(this);
button2.setBounds(132, 99, 62, 23);
contentPane.add(button2);

button3 = new JButton("3");
button3.setFont(new Font("Tahoma", Font.BOLD, 13));
button3.addActionListener(this);
button3.setBounds(204, 99, 62, 23);
contentPane.add(button3);

button4 = new JButton("4");
button4.setFont(new Font("Tahoma", Font.BOLD, 13));
button4.addActionListener(this);
button4.setBounds(58, 133, 62, 23);
contentPane.add(button4);

button5 = new JButton("5");
button5.setFont(new Font("Tahoma", Font.BOLD, 13));
button5.addActionListener(this);
button5.setBounds(132, 133, 62, 23);
contentPane.add(button5);

button6 = new JButton("6");
button6.setFont(new Font("Tahoma", Font.BOLD, 13));
button6.addActionListener(this);
button6.setBounds(204, 133, 62, 23);
contentPane.add(button6);

button7 = new JButton("7");
button7.setFont(new Font("Tahoma", Font.BOLD, 13));
button7.addActionListener(this);
button7.setBounds(58, 167, 62, 23);
contentPane.add(button7);

button8 = new JButton("8");
button8.setFont(new Font("Tahoma", Font.BOLD, 13));
button8.addActionListener(this);
button8.setBounds(132, 167, 62, 23);
contentPane.add(button8);

button9 = new JButton("9");
button9.setFont(new Font("Tahoma", Font.BOLD, 13));
button9.addActionListener(this);
button9.setBounds(204, 167, 62, 23);
contentPane.add(button9);

button10 = new JButton("0");
button10.setFont(new Font("Tahoma", Font.BOLD, 13));
button10.addActionListener(this);
button10.setBounds(58, 201, 62, 23);
contentPane.add(button10);

button11 = new JButton(".");
button11.setFont(new Font("Tahoma", Font.BOLD, 14));
button11.setBounds(132, 201, 62, 23);
button11.addActionListener(this);
contentPane.add(button11);

buttonlimpiar = new JButton("C");
buttonlimpiar.setFont(new Font("Tahoma", Font.BOLD, 13));
buttonlimpiar.addActionListener(this);
buttonlimpiar.setBounds(204, 201, 62, 23);
contentPane.add(buttonlimpiar);

buttonIgual = new JButton("=");
buttonIgual.setFont(new Font("Tahoma", Font.BOLD, 17));
buttonIgual.addActionListener(this);
buttonIgual.setBounds(58, 235, 208, 23);
contentPane.add(buttonIgual);

buttonSuma = new JButton("+");
buttonSuma.setFont(new Font("Tahoma", Font.BOLD, 13));
buttonSuma.addActionListener(this);
buttonSuma.setBounds(276, 99, 62, 23);
contentPane.add(buttonSuma);

buttonResta = new JButton("-");
buttonResta.setFont(new Font("Tahoma", Font.BOLD, 18));
buttonResta.addActionListener(this);
buttonResta.setBounds(276, 133, 62, 23);
contentPane.add(buttonResta);

buttonMultipli = new JButton("x");
buttonMultipli.setFont(new Font("Tahoma", Font.BOLD, 13));
buttonMultipli.addActionListener(this);
buttonMultipli.setBounds(276, 167, 62, 23);
contentPane.add(buttonMultipli);

buttonDivision = new JButton("\u00F7");
buttonDivision.setFont(new Font("Tahoma", Font.BOLD, 13));
buttonDivision.addActionListener(this);
buttonDivision.setBounds(276, 201, 62, 23);
contentPane.add(buttonDivision);

buttonRaiz = new JButton("\u221A");
buttonRaiz.setFont(new Font("Tahoma", Font.BOLD, 13));
buttonRaiz.addActionListener(this);
buttonRaiz.setBounds(276, 235, 62, 23);
contentPane.add(buttonRaiz);

label_muestraValores_Arriba = new JLabel("");
label_muestraValores_Arriba.setFont(new Font("Tahoma", Font.BOLD, 9));
label_muestraValores_Arriba.setHorizontalAlignment(SwingConstants.RIGHT);
label_muestraValores_Arriba.setBounds(48, 18, 259, 14);
contentPane.add(label_muestraValores_Arriba);




}

public void actionPerformed(ActionEvent e) {
//DecimalFormat df = new DecimalFormat("0.00");//esto es para que se muestre solo 2 decimales los instancio //tambien arriba


if(((JButton)e.getSource()).equals(button1)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"1"); //Aqui le digo que ponga el //texto( y a la vez que me consiga lo que hay dentro y le añada la cadena +1)
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}

if(((JButton)e.getSource()).equals(button2)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"2");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());

}
if(((JButton)e.getSource()).equals(button3)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"3");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}

if(((JButton)e.getSource()).equals(button4)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"4");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button5)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"5");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button6)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"6");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button7)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"7");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button8)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"8");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button9)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"9");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button10)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+"0");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}
if(((JButton)e.getSource()).equals(button11)){
texField_insertadodeDatos.setText(""+texField_insertadodeDatos.getText()+".");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());
}


//////////////// OJO AQUI OPERADORES///////////////////////////////////////////////

if(((JButton)e.getSource()).equals(buttonSuma)){
if(texField_insertadodeDatos.getText().equals("")){////////Aqui hago un control si texField_insertadodeDatos //esta vacio osea ,no se ha pulsado ningun boton

System.runFinalization();//////////////////////////////////// la operacion no hace nada
texField_insertadodeDatos.setText("");//Y establesco el campo vacio para poder meter cadenas(memoria1)

}else{

signo = "Suma";///Aqui me he declarado signo como un String y que si apreto el boton de suma operacion //contendra la cadena "Suma" y asi lo mismo  para los demás operadores.

memoria1 = texField_insertadodeDatos.getText(); ///Aqui agarro el string que contienne la cadena //texField_insertadodeDatos y se lo meto a memoria1

numero1 = Float.parseFloat(memoria1);//Aqui convierto de String de memoria1 a float y se lo meto numero1 //(Aqui  he declarado numero1 como float arriba para poder sumar mas adelante)

label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText()+" +");  ////Aqui he puesto una //label para ver como se esta haciendo la operacion es una copia de texField_insertadodeDatos

texField_insertadodeDatos.setText("");//////establesco el campo vacio para poder meter cadenas (memoria2)

}
}
////////////////////////////////////////////////////////
if(((JButton)e.getSource()).equals(buttonResta)){      
if(texField_insertadodeDatos.getText().equals("")){///Aqui hago un control si textfiledmostrar esta vacio //hacer lo siguiente


System.runFinalization();                               ///Aqui si no hay numero1 la operacion no hace nada
texField_insertadodeDatos.setText("");

}else{

signo = "Resta";
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText()+" -");
memoria1 = texField_insertadodeDatos.getText();
numero1 = Float.parseFloat(memoria1);
texField_insertadodeDatos.setText(""); ///establesco el campo vacio para poder meter cadenas (memoria2)

}
}
//////////////////////////////////////////////////////////////////
if(((JButton)e.getSource()).equals(buttonMultipli)){
if(texField_insertadodeDatos.getText().equals("")){

System.runFinalization();
texField_insertadodeDatos.setText("");

}else{

signo = "Multiplicacion";
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText()+" x");
memoria1 = texField_insertadodeDatos.getText();
numero1 = Float.parseFloat(memoria1);
texField_insertadodeDatos.setText("");

}
}
///////////////////////////////////////////////////////////////////////////
if(((JButton)e.getSource()).equals(buttonDivision)){
if(texField_insertadodeDatos.getText().equals("")){

System.runFinalization();
texField_insertadodeDatos.setText("");

}else{

signo = "Division";
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText()+" /");
memoria1 = texField_insertadodeDatos.getText();
numero1 = Float.parseFloat(memoria1);
texField_insertadodeDatos.setText("");

}
}
//////////////////////////////////////////////////////////////////////////
if(((JButton)e.getSource()).equals(buttonRaiz)){
if(texField_insertadodeDatos.getText().equals("")){

System.runFinalization();
texField_insertadodeDatos.setText("");

}else{

signo = "Raiz";
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText()+" \u221A");
memoria1 = texField_insertadodeDatos.getText();
numero1 = Float.parseFloat(memoria1);
texField_insertadodeDatos.setText("");

}
}
///////////////////////////Ojo el Boton igual ////////////////////////////////////////

if(((JButton)e.getSource()).equals(buttonIgual)){             //cuando aprete el boton igual

operacion();                                                //llamo al metodo operacion

texField_insertadodeDatos.setText(muestra_resultado_en_Text); //muestro el resultado por pantalla

label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());

signo="Suma";// Aqui pongo que signo es suma este es un truco por si quiero seguir usando el //resultado //obtenido de las operaciones anteriores (de division resta  multi y suma)

numero1=0;// Y limpio mi numero1 y numero2  dejandolos a 0 para poder seguir haciendooperaciones
numero2=0;
}
if(((JButton)e.getSource()).equals(buttonlimpiar)){///Aqui limpio todo para seguir metiendo cadenas

texField_insertadodeDatos.setText("");
label_muestraValores_Arriba.setText(""+texField_insertadodeDatos.getText());


}


}
/////////////AQUI CONSTRUYO UN METODO QUE SE LLAMA OPERACION/////////////////////////////////////
public void operacion(){
if (signo == "Suma"){    // Aqui hago la comparacion y si la cadena contiene "Suma" hacer lo siguiente

memoria2 = texField_insertadodeDatos.getText();///Aqui agarro el string que continene la cadena //texField_insertadodeDatos y se lo meto a memoria2 (nota aqui ya se apreto el boton + la pantalla se quedo //limpia y se volvio a meter cadena)

numero2=Float.parseFloat(memoria2); //Aqui convierto de String de memoria2 a float y se lo meto numero2

resultadoSuma = numero1+numero2;// Aqui le digo que el resultadosSuma= es la suma del numero1 de arriba + //numero2 de abajo

muestra_resultado_en_Text = Float.toString(resultadoSuma);/// Aqui me hago una variable String //muestraresultadoentext esto para poder mostrar en pantalla  y convierto el resultadosuma de float a String

texField_insertadodeDatos.setText(muestra_resultado_en_Text);




}else if(signo == "Resta"){

memoria2 = texField_insertadodeDatos.getText();
numero2=Float.parseFloat(memoria2);
resultadoResta = numero1-numero2;
muestra_resultado_en_Text = Float.toString(resultadoResta);
texField_insertadodeDatos.setText(muestra_resultado_en_Text);




}else if(signo == "Multiplicacion"){

memoria2 = texField_insertadodeDatos.getText();
numero2=Float.parseFloat(memoria2);
resultadoMultiplicacion = numero1*numero2;
muestra_resultado_en_Text = Float.toString(resultadoMultiplicacion);
texField_insertadodeDatos.setText(muestra_resultado_en_Text);





}else if(signo == "Division"){

memoria2 = texField_insertadodeDatos.getText();
numero2=Float.parseFloat(memoria2);
resultadoDivision = numero1/numero2;
muestra_resultado_en_Text = Float.toString(resultadoDivision);
texField_insertadodeDatos.setText(muestra_resultado_en_Text);


}else if (signo == "Raiz"){
//     memoria2 = texFieldmostrar.getText(); /////en este caso no necesito memoria2 por eso la elimino
//     numero2=Float.parseFloat(memoria2);//////// tampoco uso el numero2
resultadoRaiz=(float) (Math.sqrt(numero1)) ;
muestra_resultado_en_Text = Float.toString(resultadoRaiz);
texField_insertadodeDatos.setText(muestra_resultado_en_Text);


}


}



}

Espero que se entienda no olviden compartir abajo les dejo unos link relacionados.



Poema costumbrista de mi pueblo Es ley del cruceño la hospitalidad