viernes, 12 de abril de 2013

#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);
}
}

 

No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.