GUI Básica | Conversión de temperaturas | Práctica 1 | Java Swing




Requerimientos

Codificar un campo de entrada para introducir la temperatura, un botón para convertir de grados Centígrados a Kelvin y un botón para convertir de grados Kelvin a Centígrados.

Introducción

En esta práctica número 1 se desarrollará una interfaz gráfica para el usuario, en la solución de un problema, con el fin de adquirir los conocimientos necesarios para poder desarrollar aplicaciones y applets amigables con el usuario y que la gran mayoría las pueda utilizar.

Objetivos:

1: Desarrollar una GUI con 2 botones, 1 campo de entrada y 1 etiqueta

2: Realizar un programa funcional utilizando Java Swing.

Desarrollo

Como primer punto se crea una clase Temperatura, posteriormente se hereda la clase JFrame y se implementa ActionListener, después importamos las librerías y procedemos a declarar 2 botones, 1 campo de entrada y 3 etiquetas, los cuales serán agregados a nuestro contenedor. En el contenedor definiremos las dimensiones de cada objeto y sus propiedades.

Después cree otro método llamado actionPerformed el cual escuchará los eventos, en este método se identificará que evento está ocurriendo (en que botón el usuario hace clic) y dependiendo el evento, se hará la conversión de grados Celsius a Kelvin o viceversa. 


Para que ocurra lo mencionado se verifica mediante condicionales a que botón se llamó, si se llama al primer botón se convierte de cadena de texto a double el dato del campo de entrada, posteriormente se hace la conversión de Celsius a Kelvin y se muestra en la etiqueta de resultado. En el botón 2 se hace la misma conversión de cadena de texto a double y posteriormente se convierte de Kelvin a Celsius y se muestra en la etiqueta de resultado.

Y finalmente en la función principal main llamaremos al constructor-contenedor para que ejecute la aplicación.


Resultado


Código

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;


public class Temperatura extends JFrame implements ActionListener {

JButton b,b2;

JTextField l;

JLabel result,m,a;


    public Temperatura(){

      super("Conversión de Temperaturas");//titulo

      setLayout(null);

      setSize(600,350);

      

      m = new JLabel("Ingresa la temperatura que deseas convertir.");//instrucciones

      m.setBounds(15, 5, 900, 20);

      add(m);

      

      l = new JTextField();//campo para introducir los datos

      l.setBounds(50,100,200,20); 

      add(l);

      

      b = new JButton(" C a  K"); //boton 1

      b.setBounds(50,150,100,40);

      b.addActionListener(this);

      add(b);


      

      b2 = new JButton(" K a  C"); //boton 2

      b2.setBounds(150,150,100,40);

      b2.addActionListener(this);

      add(b2);

      

      result = new JLabel("_________________________");//etiqueta de resultado

      result.setBounds(350,100,200,20);

      add(result);

      

      a = new JLabel("El resultado de la conversión es:");

      a.setBounds(350, 85, 200, 20);

      add(a);

}

   

    @Override

    public void actionPerformed(ActionEvent e) {

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

        double temperatura = Double.parseDouble(l.getText());

        double k = temperatura + 273.15;

        result.setText(k+"K");

        }

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

            double temperatura = Double.parseDouble(l.getText());

            double c = temperatura - 273.15;

            result.setText(c+"C");

        }


       

    }

        public static void main(String[] args) {

        Temperatura v = new Temperatura();

        v.setVisible(true);

        v.setDefaultCloseOperation(EXIT_ON_CLOSE);

    }


}

Video de muestra del funcionamiento







Comentarios

Entradas populares