Documentos de Académico
Documentos de Profesional
Documentos de Cultura
JFRAME
JFRAME
1 - Creación de un proyecto.
2 - Seleccionamos el nombre de nuestro proyecto (lo llamaremos
PruebaWindowBuilder):
3 - Ahora seleccionamos la opción del menú File -> New -> Other ...
4 - Seleccionamos la opción la opción JFrame:
5 - Seguidamente presionamos el botón Next > y definimos el nombre de la
clase a crear (Ventana1):
Tenemos en este momento nuestra aplicación mínima generada por el
WindowBuilder. Podemos observar que en la parte inferior de la ventana
central aparecen dos pestañas (Source y Design) estas dos pestañas nos
permiten ver el código fuente de nuestro JFrame en vista de diseño o en vista
de código Java:
Luego en vista de "Design":
6 - Configuramos el Layout de JFrame presionando el botón derecho del
mouse sobre el formulario generado y seleccionamos la opción SetLayout >
Absolute layout (esto nos permite luego disponer controles visuales como
JButton, JLabel etc. en posiciones fijas dentro del JFrame):
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Ventana1 frame = new Ventana1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Ventana1() {
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);
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;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Ventana1 frame = new Ventana1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Ventana1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 203);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
Como podemos observar ahora cuando se crean los objetos de la clase JLabel
en el constructor se inicializan con los valores cargados en la propiedad text:
JLabel lblNewLabel = new JLabel("Ingrese nombre de
usuario:");
.....
JLabel lblNewLabel_1 = new JLabel("Ingrese clave:");
.....
JButton btnNewButton = new JButton("Aceptar");
.....
JButton btnNewButton_1 = new JButton("Cancelar");
.....
Problema propuesto 1
Crear la interfaz visual que aparece abajo. Inicializar las propiedades 'text' y
'variable' para cada JButton y la JLabel.
Eventos
Ver video
Para asociar eventos el plug-in WindowBuilder nos proporciona una mecánica
para automatizar la generación de las interfaces que capturan los eventos de
los objetos JButton, JMenuItem, JList etc.
Crearemos una interfaz visual similar a esta (tres controles de tipo JLabel, dos
JTextField y un JButton):
Problema
Ver video
Crear un menú de opciones que permita cambiar el color de fondo. Disponer un
JMenuBar, un JMenu y 3 objetos de la clase JMenuItem. Asociar los eventos
respectivos para cada control de tipo JMenuItem.
La interfaz visual debe quedar similar a la siguiente:
Para crear esta interface debemos primero seleccionar la pestaña "Menu"
donde se encuentran las componentes relacionadas a la creación de menúes.
Debemos agregar (en este orden las siguientes componentes):
1 - Un JMenuBar en la parte superior.
2 - Un objeto de la clase JMenu en la barra del JMenuBar (podemos disponer
el texto que queremos que se muestre)
3 - Agregamos un objeto de la clase JMenuItem en el sector donde aparece el
texto: "Add items here". Los mismos pasos hacemos para agregar los otros dos
JMenuItem.
Ahora debemos asociar el evento clic para cado JMenuItem. Seleccionamos
primero el control de tipo JMenuItem y en la ventana de "Properties"
presionamos el botón "Show events" y generamos el actionPerformed para el
JMenuItem seleccionado.
Luego codificamos:
mntmRojo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
contentPane.setBackground(Color.red);
}
});
Para cambiar el color del JFrame en realidad debemos modificar el color del
JPanel que cubre el JFrame. El objeto de la clase JPanel llamado contentPane
tiene un método llamado setBackground que nos permite fijar el color de fondo.
De forma similar asociamos los eventos para los otros dos objetos de la clase
JMenuItem:
JMenuItem mntmVerde = new JMenuItem("Verde");
mntmVerde.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
contentPane.setBackground(Color.green);
}
});
mnNewMenu.add(mntmVerde);
JMenuItem mntmAzul = new JMenuItem("Azul");
mntmAzul.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
contentPane.setBackground(Color.blue);
}
});