Componentes GUI
Componentes GUI
COMPONENTES GUI
Para definir una barra de menús, cada menú y los elementos de cada menú
Uso de componentes:
1) Crear el componente
usando new:
2) Añadirlo al contenedor
usando add:
System.out.println(b.getLabel());
b.setLabel(“etiqueta modificada”);
frame.setJMenuBar(menubar);
fileMenu.add(quitItem);
Textfield
if (Campo1.getText().isEmpty()) {
System.out.println("El campo 1 esta vacio");
}else{
System.out.println("El campo 1 esta lleno");
}
Combos
JComboBox
Un evento muy útil con este control es cuando el operador selecciona un Item de la lista.
Para capturar la selección de un item debemos implementar la
interface ItemListener que contiene un método llamado itemStateChanged.
import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public Ejemplo12() {
//Añado el ComboBox con sus items y su ItemListener, así como la etiqueta
combo1=new JComboBox();
combo1.setBounds(10,10,80,20);
add(combo1);
combo1.addItem("ninguno");
combo1.addItem("rojo");
combo1.addItem("verde");
combo1.addItem("azul");
combo1.addItemListener(this);
label1.setBounds(10,80,200,30);
add(label1);
initPantalla();
new Ejemplo12();
}
if (e.getSource() == combo1) {
String seleccionado=(String)combo1.getSelectedItem();
texto += seleccionado;
label1.setText(texto);
cajas de diálogo
La forma más sencilla de crear ventanas gráficas en Java es utilizar cuadros de diálogo
JOptionPane. Estos son simples cajas de texto que aparecen en la pantalla y nos
permiten mostrar un mensaje o pedir un dato al ausuario o usuaria.
import javax.swing.*;
}
Menus
No hay ningún método para diseñar un buen interfaz de usuario, todo depende del
programador. Los Menús son siempre el centro de la aplicación, porque son el medio de
que el usuario interactúe con esa aplicación. La diferencia entre una aplicación útil y
otra que es totalmente frustrante radica en la organización de los menús, pero eso, las
reglas del diseño de un buen árbol de menús no están claras. Hay un montón de libros
acerca de la ergonomía y de cómo se debe implementar la interacción con el usuario. Lo
cierto es que por cada uno que defienda una idea, seguro que hay otro que defiende la
contraria. Todavía no hay un acuerdo para crear un estándar, con cada Window
Manager se publica una guía de estilo diferente. Así que, vamos a explicar lo básico, sin
que se deba tomar como dogma de fe, para que luego cada uno haga lo que mejor le
parezca.
java.lang.Object
MenuShorcut
java.awt.MenuComponent
java.awt.MenuBar
java.awt.MenuItem
java.awt.Menu
java.awt.CheckboxMenuItem
java.awt.PopMenu
Esta clase no contiene campos, solamente tiene un constructor y dispone de una docena
de métodos que están accesibles a todas sus subclases.
Clase Menu
Esta es la clase que se utiliza para construir los menús que se manejan habitualmente,
conocidos como menús de persiana (o pull-down). Dispone de varios constructores para
poder, entre otras cosas, crear los menús con o sin etiqueta. No tiene campos y
proporciona varios métodos que se pueden utilizar para crear y mantener los menús en
tiempo de ejecución. En el programa de ejemplo java1317.java, se usarán algunos de
ellos.
Clase MenuItem
Esta clase se emplea para instanciar los objetos que constituirán los elementos
seleccionables del menú. No tiene campos y dispone de varios constructores, entre los
que hay que citar a:
que crea un elemento el menú con una combinación de teclas asociada para acceder
directamente a él. Esta clase proporciona una veintena de métodos, entre los que
destacan los que se citan ahora:
addActionListener( ActionListener )
que añade el receptor específico que va a recibir eventos desde esa opción del menú
removeActionListener( ActionListener )
contrario al anterior, por lo que ya no se recibirán eventos desde esa opción del menú
setEnabled( boolean )
isEnabled()
Clase MenuShortcut
Esta clase se utiliza para instanciar un objeto que representa un acelerador de teclado, o
una combinación de teclas rápidas, para un determinado MenuItem. No tiene campos y
dispone de dos constructores.
Aparentemente, casi todas las teclas rápidas consisten en mantener pulsada la tecla
Control a la vez que se pulsa cualquier otra tecla. Uno de los constructores de esta clase:
MenuShortcut( int,boolean );
La clase KeyEvent define varias constantes simbólicas para estos códigos de teclas,
como son: VK_8, VK_9, VK_A, VK_B.
Clase MenuBar
Cuando se selecciona un elemento del menú, éste genera un evento de tipo ActionEvent,
que presenta una línea de texto en pantalla indicando cuál ha sido el elemento del menú
que se ha seleccionado, por ejemplo:
% java java1317