9.1 ARCHIVOS JAR

 

Hola a todos, ¿qué tal? Empezamos un nuevo bloque dedicado al despliegue de aplicaciones.

Para empaquetar y distribuir aplicaciones JAVA se utilizan los archivos JAR.

Las aplicaciones que hemos ido haciendo a lo largo del blog normalmente se componían de un archivo con diferentes clases siendo una de esas clases, la clase principal, la que contiene el método main. Este archivo con extensión .java se guarda en una carpeta llamada src al ejecutar el archivo se compila a un archivo con formato .class que se guarda en la carpeta bin. Lo que se ejecuta es el archivo .class.

El archivo JAR es un paquete comprimido que sirve para distribuir nuestras aplicaciones, a este archivo le tenemos que indicar cuál es la clase principal.

Por regla general, Eclipse comprime todo un proyecto, si dentro de ese proyecto tenemos varios archivos y cada archivo se compone de una clase principal pues no funcionaría correctamente. Lo ideal es crearnos un nuevo proyecto con nuestra aplicación para que una vez terminada podamos comprimir ese proyecto con solo esa clase principal.

En Eclipse he creado un proyecto al que he llamado Calculadora que tiene un archivo llamado Calcutator con un código que ya vimos en el apartado Layouts cuando creamos la calculadora, el código es este:

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class Calculator {

 

       public static void main(String[] args) {

           

           MarcoCalculadora mimarco = new MarcoCalculadora();

          

           mimarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

         

           mimarco.setVisible(true);

 

 

       }

 

}

class MarcoCalculadora extends JFrame {

     

       public MarcoCalculadora() {

           

             setTitle("Calculadora");

           

             setBounds(500, 300, 450, 300);

            

             LaminaCalculadora milamina = new LaminaCalculadora();

            

             add(milamina);

            

             //pack();

 

           

           

       }

}

 

class LaminaCalculadora extends JPanel {

   

    public LaminaCalculadora() {

     

      principio=true;

     

      ultimaAccion = "+";

        

          setLayout(new BorderLayout());

         

          display =new JButton("0");

         

          display.setEnabled(false);

        

          add(display, BorderLayout.NORTH);

         

          milamina2 = new JPanel();

         

          milamina2.setLayout(new GridLayout(4, 4));

         

          ActionListener insertar = new insertaNumero();

         

          ActionListener operacion = new clOperaciones();

         

          agregarBotones("7", insertar);

         

          agregarBotones("8", insertar);

        

          agregarBotones("9", insertar);

        

          agregarBotones("/", operacion);

        

          agregarBotones("4", insertar);

        

          agregarBotones("5", insertar);

        

          agregarBotones("6", insertar);

        

          agregarBotones("*", operacion);

        

          agregarBotones("1", insertar);

        

          agregarBotones("2", insertar);

        

          agregarBotones("3", insertar);

        

          agregarBotones("-", operacion);

        

          agregarBotones("0", insertar);

        

          agregarBotones(".", operacion);

         

          agregarBotones("+", operacion);

        

          agregarBotones("=", operacion);

         

          add(milamina2, BorderLayout.CENTER);

 

        

    }

   

    private void agregarBotones (String tit, ActionListener oyente) {

       

        JButton boton = new JButton(tit);

       

        boton.addActionListener(oyente);

      

        milamina2.add(boton);

    }

   

    private class insertaNumero implements ActionListener {

 

            @Override

            public void actionPerformed(ActionEvent e) {

                 

                  String entrada = e.getActionCommand();

                 

              if(principio) {

                 

                  display.setText(" ");

                

                  principio=false;

           }

 

                 

                  display.setText(display.getText()+entrada);

                 

            }

     

     

    }

    private class clOperaciones implements ActionListener{

 

            @Override

            public void actionPerformed(ActionEvent e) {

                 

                  String operador=e.getActionCommand();

                 

                  calcular(Double.parseDouble(display.getText()));

                 

                  ultimaAccion=operador;

                 

                  principio=true;

                 

            }

            public void calcular(double x) {

           

            if(ultimaAccion.equals("+")) {

               

                resultado+=x;

         }else if(ultimaAccion.equals("-")) {

              

                resultado-=x;

         }else if(ultimaAccion.equals("*")) {

              

                resultado*=x;

         }else if(ultimaAccion.equals("/")) {

              

               resultado/=x;

              

              

         }

       

            display.setText(" "+resultado);

        }  

     

    }

 

    private JPanel milamina2;

   

    private JButton display;

   

    private boolean principio;

   

    private double resultado;

   

    private String ultimaAccion;

    }

 

En Eclipse tenemos el proyecto



Si lo ejecutamos:



Al ejecutar el archivo se ha compilado y se ha creado el archivo .class en la carpeta bin:

La clase Calculator es la clase principal, es la que se va a ejecutar.

Vamos a empaquetar esta aplicación, en Eclipse con el archivo Calculator abierto, vamos al menú File > Export y tenemos que seleccionar JAR file:

En la siguiente ventana tenemos que seleccionar el proyecto que queremos empaquetar:

Pulsamos el botón Browse para indicarle donde lo queremos guardar y le damos un nombre:



Y pulsamos el botón Finish:

Y ya tendríamos nuestro archivo JAR creado



Si pulsamos sobre él se nos abre la calculadora:

Fácil, ¿verdad? Si alguno de vosotros no se os ejecuta el archivo .jar comprobad la versión de Java, las variables de entorno, el archivo tenga errores, etc., en la red tenéis un montón de foros que os ayudan a solucionar este problema, no obstante, si continuáis sin poderlo ejecutar comentarlo en el blog y entre todos nos ayudaremos. Un saludo!

8.4 VENTANAS EMERGENTES << >> 9.2 FIRMAR ARCHIVOS JAR



No hay comentarios:

Publicar un comentario