Publicado el Deja un comentario

#JavaVisual

  Despues
de obtener cierta base, pondre en este caso un ejemplo de programacion
visual, en el que desarrollaremos un programa que calcule la
multiplicacion de dos valores introducidos por el usuario.
  Como
observaran en el video demostrativo se produce un error de calculo
porque en la asignacion del segundo valor habia vuelto a escribir el
primero, una vez comprobado se rectifica sobre la marcha.
  Abrimos
Eclipse y seleccionamos nuevo proyecto, dentro del proyecto pulsamos con
el boton derecho y seleccionamos Nuevo/Otras/Swin Designer/JFrame,
indicamos el nombre y pasamos al codigo.
  Bajo el codigo tendremos
dos pestañas Source (codigo) y Design (diseño), pulsamos diseño y
veremos la parte visual, para poder poner los controles a nuestro
antojo, pulsamos con el boton derecho en la ventana en modo diseño
/setLayout/absoluteLayout.
  Despues insertamos tres controles
Jlabel, dos JTextField y un JButton, camiandoles las propiedades de
texto (para que aparezcan reflejadas en la ventana) y el nombre a
utilizar como referencia en el codigo.
  Señalamos el boton y en
propiedades marcamos action performer y pasamos al codigo que se ejecuta
al pulsar boton, el codigo sera:
 
btnMultiplica.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int i1=Integer.parseInt(textField1.getText());
int i2=Integer.parseInt(textField2.getText());
int multiplica=i1*i2;
lblResultado.setText(String.valueOf(multiplica));
}
});

  Con getText obtenemos el valor introducido en el textField, con integer.parseInt lo transformamos en numero para poder operar.
 
Con setText mostramos en el label el valor de la operacion convertido a
string (cadena de caracteres) para poder mostrarlo en el Jlabel.
 
Para que el lblResultado muestre el valor tenemos que definirlo como
atributo de clase, lo señalamos y marcamos en la parte de propiedades el
boton convert Local to Field (se ve claro en el video).

  El codigo completo de la aplicacion es: 

package EjemplosJava;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Multiplica extends JFrame {

private JPanel contentPane;
private JTextField textField1;
private JTextField textField2;
private JLabel lblResultado;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Multiplica frame = new Multiplica();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Multiplica() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblNewLabel = new JLabel(“Introduce Importe”);
lblNewLabel.setBounds(23, 11, 109, 14);
contentPane.add(lblNewLabel);

JLabel lblNewLabel_1 = new JLabel(“Introduce Importe”);
lblNewLabel_1.setBounds(23, 54, 94, 14);
contentPane.add(lblNewLabel_1);

textField1 = new JTextField();
textField1.setBounds(160, 11, 86, 20);
contentPane.add(textField1);
textField1.setColumns(10);

textField2 = new JTextField();
textField2.setBounds(160, 54, 86, 20);
contentPane.add(textField2);
textField2.setColumns(10);

lblResultado = new JLabel(“Resultado”);
lblResultado.setBounds(241, 117, 61, 14);
contentPane.add(lblResultado);

JButton btnMultiplica = new JButton(“Multiplica”);
btnMultiplica.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int i1=Integer.parseInt(textField1.getText());
int i2=Integer.parseInt(textField2.getText());
int multiplica=i1*i2;
lblResultado.setText(String.valueOf(multiplica));
}
});
btnMultiplica.setBounds(99, 113, 89, 23);
contentPane.add(btnMultiplica);
}
}
 

Please follow and like us:

Deja una respuesta