PRACTICA JAVA MODO GRAFICO
Objetivo: Utilización de formularios. Creación de una calculadora
Creación de un nuevo proyecto
Ir a Archivo(File), elegir proyecto nuevo (New proyect), seleccionar Java, luego Java Aplication, presionar
el botón siguiente(next), colocar como proyecto Calculadora2:
Para finalmente Terminar.
Presionar la carpeta Calculadora2, botón
derecho seleccionar Nuevo, luego Formulario
JFrame.
En el formulario crear el siguiente diseño:
txtpantalla
Presione la pestaña source y declarar las siguientes variables
globales en la clase calculadora:
public class Calculadora extends javax.swing.JFrame {
String memoria1;
String signo;
String memoria2;
Luego crear los eventos para cada número:
Presione botón derecho en 1, clic en eventos, Action, luego actionPerformed
Codificaremos para cada botón lo siguiente:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"1");
}
Así para cada botón, del dos hasta el cero:
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"2");
}
private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"3");
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"4");
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"5");
}
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"6");
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"7");
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"8");
}
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"9");
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText(txtpantalla.getText()+"0");
}
Ahora vamos a codificar el punto:
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
String cadena;
cadena=txtpantalla.getText();
if (cadena.length()<=0){
txtpantalla.setText("0.");
}
else{
if (!existepunto(txtpantalla.getText())){
txtpantalla.setText(txtpantalla.getText()+".");
}
}
}
public static boolean existepunto(String cadena){
boolean resultado;
resultado=false;
for(int i=0; i<cadena.length();i++){
if(cadena.substring(i,i+1).equals(".")){
resultado=true;
break;
}
}
return resultado;
}
Borrar carácter por carácter ( C ):
private void jButton18ActionPerformed(java.awt.event.ActionEvent evt) {
String cadena;
cadena=txtpantalla.getText();
if (cadena.length()>0){
cadena=cadena.substring(0,cadena.length()-1);
txtpantalla.setText(cadena);
}
}
Borrar Todo (CE)
private void jButton17ActionPerformed(java.awt.event.ActionEvent evt) {
txtpantalla.setText("");
}
Botón Inversa:
private void jButton19ActionPerformed(java.awt.event.ActionEvent evt) {
String cadena;
Double num;
cadena=txtpantalla.getText();
if (cadena.length()>0){
num=1/(Double.parseDouble(cadena));
txtpantalla.setText(num.toString());
}
}
Botones Resta Suma Multiplicación y División:
private void jButton13ActionPerformed(java.awt.event.ActionEvent evt) {
if(!txtpantalla.getText().equals("")){
memoria1=txtpantalla.getText();
signo="-";
txtpantalla.setText("");
}
}
private void jButton16ActionPerformed(java.awt.event.ActionEvent evt) {
if(!txtpantalla.getText().equals("")){
memoria1=txtpantalla.getText();
signo="+";
txtpantalla.setText("");
}
}
private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) {
if(!txtpantalla.getText().equals("")){
memoria1=txtpantalla.getText();
signo="*";
txtpantalla.setText("");
}
}
private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) {
if(!txtpantalla.getText().equals("")){
memoria1=txtpantalla.getText();
signo="/";
txtpantalla.setText("");
}
}
Botón Igual:
private void jButton20ActionPerformed(java.awt.event.ActionEvent evt) {
String resultado;
memoria2=txtpantalla.getText();
if (!memoria2.equals("")){
resultado=calculadora(memoria1,memoria2,signo);
txtpantalla.setText(resultado);
}
}
public static String calculadora(String memoria1,String memoria2, String signo) {
Double resultado=0.0;
String respuesta;
if (signo.equals("-")){
resultado=Double.parseDouble(memoria1)-Double.parseDouble(memoria2);
}
if (signo.equals("+")){
resultado=Double.parseDouble(memoria1)+Double.parseDouble(memoria2);
}
if (signo.equals("*")){
resultado=Double.parseDouble(memoria1)*Double.parseDouble(memoria2);
}
if (signo.equals("/")){
resultado=Double.parseDouble(memoria1)/Double.parseDouble(memoria2);
}
respuesta=resultado.toString();
return(respuesta);
Tarea
Realizar una calculadora cientifica