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);
}
}
Comentarios
Publicar un comentario