// PRODUCTO DE NUMEROS CON INTERFAZ GRAFICA
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
// Prototipo de una aplicacion de ventana
// 1.- Se crea la clase que extienda a la clase Frame, JFrame o Window
public class Producto extends JFrame
{
// SE CREAN Y SE INICIALIZAN LOS COMPONENTES
JButton BEVAL = new JButton("EVALUA");
JLabel LV1, LV2, LOPR, LERESP, LRESP, LIGUAL;
JTextField TFOPR1, TFOPR2;
public Producto ()
{
this.getContentPane().setLayout(null); // Contenedor nulo
this.setTitle("TITULO"); // Titulo de la ventana
this.setResizable(false); // No es redimensionable
this.setLocation(100, 100); // Posicion desde la esquina superior izquierda del monitor
this.setSize(new Dimension(700, 350)); // Dimensiones
// ETIQUETAS
LV1=new JLabel("VALOR 1"); add(LV1); LV1.setBounds(50, 80, 100, 30);
LOPR=new JLabel("*"); add(LOPR); LOPR.setBounds(200, 150, 50, 30);
LV2=new JLabel("VALOR 2"); add(LV2); LV2.setBounds(300, 80, 100, 30);
LIGUAL=new JLabel("="); add(LIGUAL); LIGUAL.setBounds(450, 150, 50, 30);
LERESP=new JLabel("RESPUESTA"); add(LERESP); LERESP.setBounds(550, 80, 100, 30);
LRESP=new JLabel(" "); add(LRESP); LRESP.setBounds(550, 150, 100, 30);
// CAMPOS DE TEXTO
TFOPR1=new JTextField(" "); add(TFOPR1); TFOPR1.setBounds(50, 150, 100, 30);
TFOPR2=new JTextField(" "); add(TFOPR2); TFOPR2.setBounds(300, 150, 100, 30);
// BOTON
add(BEVAL); BEVAL.setBackground(Color.blue); BEVAL.setForeground(Color.yellow);
BEVAL.setBounds(300, 220, 100, 30); // Se posiciona
BEVAL.addActionListener(new Botonazo()); // Se captura el evento del ratOn sobre el botOn
setVisible(true); // 2.- Se muestra la ventana
}
public static void main(String R[]) { new Producto(); }
// 3.- Captura del evento "cerrar ventana"
protected void processWindowEvent(WindowEvent e)
{
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); }
}
class Botonazo implements ActionListener
{
public void actionPerformed(ActionEvent EVENTO)
{
float OPR1=0, OPR2=0, RESP;
String CAD = TFOPR1.getText();
OPR1 = Float.parseFloat(CAD);
OPR2 = Float.parseFloat(TFOPR2.getText());
RESP = OPR1 * OPR2;
LRESP.setText(""+RESP);
}
}
}