Translate

domingo, 5 de enero de 2014

Proyecto Convertidor de grados con menu integrado y calculadora en java TERMINADO con eclipse

Clase Calculadora1_2 en un package aparte



package Calculadora2;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*; 

  

public class Calculadora1_2 extends JFrame implements ActionListener{

 private JButton btn1,btn2,btn3,btn4,btn5;

 private JTextField val1,val2,resul;

  

 //metodo donde creo y añado los controles

 public void Controles(){

   //obtener panel de contenido y establecer su esquema

      Container contenedor = getContentPane();

      contenedor.setLayout( new FlowLayout(FlowLayout.CENTER) );

   //crear controles y añadir

      Label lbl1 = new Label("Numero");

      contenedor.add(lbl1);

      val1 = new JTextField(10);

      contenedor.add(val1);

      Label lbl2 = new Label("Numero");

      contenedor.add(lbl2);

      val2 = new JTextField(10);

      contenedor.add(val2);

      btn1 = new JButton("+");

      contenedor.add(btn1);

      btn1.addActionListener(this);

      btn2 = new JButton("-");

      contenedor.add(btn2);

      btn2.addActionListener(this);

      btn3 = new JButton("x");

      contenedor.add(btn3);

      btn3.addActionListener(this);

      btn4 = new JButton("/");

      contenedor.add(btn4);

      btn4.addActionListener(this);

      btn5 = new JButton("Limpiar");

      contenedor.add(btn5);

      btn5.addActionListener(this);

      resul = new JTextField(10);

      contenedor.add(resul);

 }

  

 public Calculadora1_2(){

   //titulo ventana

      super("Calculadora");

      //cargo controles

      Controles();

      //tamaño ventana y mostrar y centrar

      setSize(380,150);

      setLocationRelativeTo(null);//centrar

      setVisible(true);

 }

  

 //eventos botones

   public void actionPerformed(ActionEvent e) {

     double  num1,num2,resu;

     String resultado;

        if (e.getSource()==btn1) {

         if(val1.getText().equals("") || val2.getText().equals("")){

          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",

          "Error",JOptionPane.ERROR_MESSAGE); 

         }

         else{

          num1=Double.parseDouble(val1.getText());

          num2=Double.parseDouble(val2.getText());

          resu=num1+num2;

          resultado=String.valueOf(resu);

          resul.setText(resultado);

         }          

        }

        if (e.getSource()==btn2) {

         if(val1.getText().equals("") || val2.getText().equals("")){

          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",

          "Error",JOptionPane.ERROR_MESSAGE); 

         }

         else{

          num1=Double.parseDouble(val1.getText());

          num2=Double.parseDouble(val2.getText());

          resu=num1-num2;

          resultado=String.valueOf(resu);

          resul.setText(resultado);

         }          

        } 

        if (e.getSource()==btn3) {

         if(val1.getText().equals("") || val2.getText().equals("")){

          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",

          "Error",JOptionPane.ERROR_MESSAGE); 

         }

         else{

          num1=Double.parseDouble(val1.getText());

          num2=Double.parseDouble(val2.getText());

          resu=num1*num2;

          resultado=String.valueOf(resu);

          resul.setText(resultado);

         }          

        }

        if (e.getSource()==btn4) {

         if(val1.getText().equals("") || val2.getText().equals("")){

          JOptionPane.showMessageDialog(null, "Los datos Están Incompletos",

          "Error",JOptionPane.ERROR_MESSAGE); 

         }

         else{

          num1=Double.parseDouble(val1.getText());

          num2=Double.parseDouble(val2.getText());

          try{

           resu=num1/num2;

           resultado=String.valueOf(resu);

           resul.setText(resultado);

          }

          catch(ArithmeticException ex){

            JOptionPane.showMessageDialog(null, "No se Puede Dividir Entre 0",

            "Error",JOptionPane.ERROR_MESSAGE);

          }

           

         }          

        }

        if (e.getSource()==btn5){

         val1.setText("");

            val2.setText("");

            resul.setText("");

       }             

    }

     

    /*public static void main(String[] args) {

      JFrame.setDefaultLookAndFeelDecorated(true);

      Calculadora1_2 calc = new Calculadora1_2();//Instanciamos la clase que creamos

      calc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//cerrar ventana

    }*/
}


____________________________________________________________________________

Clase ubicada en el otro package (conversiones)


package conversiones;
import javax.swing.*;

import Calculadora2.Calculadora1_2;//Aqui import el paquete con su clase, si son varias clases podes 
//hacerlo de la sgt manera import nombrePaquete.*;--> asi importaras todas las clases del paquete especidicado

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;///Organiza los elementos en cuadriculas
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class misConversiones1_2 extends JFrame implements ActionListener{
JLabel labelCentigrados,labelFarenhai,labelCelcius,labelKelvin,labelConvertir;
JTextField textCentigrados,textFarenhai,textCelcius,textKelvin;
JButton jbMostrar;
JMenu menuAcercaDe,menuEdicion,menuArchivo;
JMenuBar menuBarra;
JPanel miPanel;
JMenuItem itemArchivoCerrar,itemArchivoCalculadora,itemInfoAplicacion,itemInfoContacto;
String informacion="",infoContacto;
    
public  misConversiones1_2(){
super("Mi Convertidor");
setVisible(true);
setSize(550,250);
setLocationRelativeTo(null);
Iniciador();
setResizable(false);
}
public void Iniciador(){
informacion="Esta es una aplicacion realizada por mi\n";
informacion+="Cristhian Alexis Galeano Ruiz\n";
informacion+="Estudiante de Tecnologia en Sistemas II\n";
informacion+="con el objetivo de convertir grados centigrados a las diferentes medidas";
infoContacto="gmail: titiruizah@gmail.com\n";
infoContacto+="Facebook: https://www.facebook.com/cristianalexis.galeanoruiz1\n";
infoContacto+="outlook: titiruizah@hotmail.com \n";
infoContacto+="skype: cristianalexis8";
labelCentigrados=new JLabel("Centigrados");
labelFarenhai=new JLabel("Farenheit");
labelCelcius=new JLabel("Celcius");
labelKelvin=new JLabel("Kelvin");
labelConvertir=new JLabel("Convertir");
menuAcercaDe=new JMenu();
menuArchivo=new JMenu();
menuBarra=new JMenuBar();
 
itemInfoAplicacion=new JMenuItem();
itemInfoContacto =new JMenuItem();
itemArchivoCerrar=new JMenuItem();
itemArchivoCalculadora = new JMenuItem();
itemArchivoCerrar=new JMenuItem();
textCentigrados=new JTextField();
textFarenhai=new JTextField();
textCelcius=new JTextField();
textKelvin=new JTextField();
jbMostrar=new JButton("CONVERTIR");
jbMostrar.setBackground(Color.BLUE);//Le establesco al objeto jbMostrar un color azul
jbMostrar.setForeground(Color.BLACK);//con un color de letra negro
 
miPanel=new JPanel();
//FlowLayout flow=new FlowLayout();
 
GridLayout layout =new GridLayout(5,2);//Creo un objeto de tipo griblayout con 5 filas y 2 columnas
miPanel.setLayout(layout);//Le establesco al JPanel(miPanel) una organizacion por cuadriculas por medio del objeto de la clase griblayout
itemInfoContacto.setText("Contacto");//Establesco itemInfoContacto etiqueta "contacto"
itemInfoContacto.addActionListener(this);
menuAcercaDe.add(itemInfoContacto);///Le agredo al menuAcercaDe un elemento(itemInfoContacto)
itemInfoAplicacion.setText("Informacion Aplicacion");
itemInfoAplicacion.addActionListener(this);
menuAcercaDe.add(itemInfoAplicacion);
itemArchivoCalculadora.setText("Calculadora");
itemArchivoCalculadora.addActionListener(this);
menuArchivo.add(itemArchivoCalculadora);
itemArchivoCerrar.setText("Cerrar");
itemArchivoCerrar.addActionListener(this);
menuArchivo.add(itemArchivoCerrar);
menuAcercaDe.setText("Acerca De");
menuArchivo.setText("Archivo");
menuBarra.add(menuArchivo);
menuBarra.add(menuAcercaDe);
menuAcercaDe.addActionListener(this);
setJMenuBar(menuBarra);//En esta linea se establece o se agrega la menu principal con todos sus elementos (JMenuitems,etc)
 
miPanel.add(labelCentigrados);//Hay que adicionar cada componente primeramente al JPanel que esta regido por la clase GridLayout
miPanel.add(textCentigrados);
miPanel.add(labelFarenhai);
miPanel.add(textFarenhai);
miPanel.add(labelCelcius);
miPanel.add(textCelcius);
miPanel.add(labelKelvin);
miPanel.add(textKelvin);
miPanel.add(labelConvertir);
miPanel.add(jbMostrar);
jbMostrar.addActionListener(this);//Le adiciono al objeto jbMostrar(JButton) el escuchador de la accion
add(miPanel);///Finalmente adicciono el JPanel(miPanel) el cual contiene ya todos sus componentes
}
 
public void actionPerformed(ActionEvent e){
EventoAcercaDe(e);
if(e.getSource()==jbMostrar){
//Convertir a Farenhai
int auxCe=Integer.parseInt(textCentigrados.getText());
float result=9/5*auxCe+32;
String cadena=Float.toString(result);
textFarenhai.setText(cadena);
//convertir a celcius
textCelcius.setText(textCentigrados.getText());
//Convertir a kelvin
float resultK=auxCe+273;
String cadenaK=Float.toString(resultK);
textKelvin.setText(cadenaK);
}
if(e.getSource()==itemArchivoCerrar){
System.exit(0); 
}
}
public void EventoAcercaDe(ActionEvent evento){
if(evento.getSource()==itemInfoAplicacion){
JOptionPane.showMessageDialog(null,informacion,"INFORMATION",JOptionPane.INFORMATION_MESSAGE);
}
if(evento.getSource()==itemInfoContacto){
JOptionPane.showMessageDialog(null,infoContacto,"INFORMATION",JOptionPane.INFORMATION_MESSAGE);
}
if(evento.getSource()==itemArchivoCalculadora){
Calculadora1_2 c=new Calculadora1_2();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
              misConversiones1_2 m=new misConversiones1_2();
}

}



1 comentario:

  1. Harrah's Philadelphia Casino & Racetrack - Mapyro
    Harrah's Philadelphia Casino 남양주 출장안마 & Racetrack locations, 서귀포 출장샵 rates, 나주 출장샵 amenities: expert Philadelphia research, 경산 출장안마 only 성남 출장마사지 at Hotel and Travel Index.

    ResponderEliminar