UNIDAD I.- Elementos de Interfaces Gráficas

Anuncio
Tópicos Selectos de Programación
UNIDAD I.- Elementos de Interfaces Gráficas
___________________________________________________________________
LECCIÓN 1.3.- Componentes AWT
___________________________________________________________________
1.3.1.- Manejo de Menús en AWT
Los menús solo se pueden asociar a objetos derivados de Frame.
Se requieren tres clases para el diseño de menús en una interfaz gráfica:
–
MenuBar: Define la barra de menú para la ventana
–
Menu: Define el menú incluido en la barra de menú.
–
MenuItem: Define la opción de un menú
Métodos asociados al manejo de menús:
–
setMenuBar(MenuBar x): Asocia una barra de menú a una ventana.
–
addSeparator(): Adiciona un separador a las opciones de menú
package layouts;
import java.awt.*;
import java.awt.event.*;
public class FrameConMenu extends Frame{
public FrameConMenu(){
super("Frame con Menú");
setSize(400,300);
setBackground(Color.cyan);
setLocation(100,100);
Rafael Rivera López
1
Tópicos Selectos de Programación
}
addMenu();
setVisible(true);
public void addMenu(){
MenuBar barra = new MenuBar();
Menu archivo = new Menu("Archivo");
Menu propiedades = new Menu("Propiedades");
barra.add(archivo);
barra.add(new Menu("Editar"));
barra.add(new Menu("Ayuda"));
archivo.add(new MenuItem("Abrir"));
archivo.add(new MenuItem("Guardar"));
archivo.add(new MenuItem("Cerrar"));
archivo.addSeparator();
archivo.add(propiedades);
archivo.addSeparator();
archivo.add(new MenuItem("Salir"));
propiedades.add(new MenuItem("Propiedad 1"));
propiedades.add(new MenuItem("Propiedad 2"));
propiedades.add(new MenuItem("Propiedad 3"));
setMenuBar(barra);
}
}
1.3.2.- Uso de Componentes AWT
La siguiente tabla muesta los componentes más representativos de AWT.
Componente
Descripción
Button
Hacer click en el botón
Checkbox
Casilla para marcar opciones, incluye una etiqueta.
CheckBoxGroup Agrupa varias casillas permitiendo solamente mantener seleccionada una
Choice
Permite elegir un valor entre varios de una lista.
List
Permite elegir uno o varios valores de una lista.
TextField
Texto modificable presentado en una línea.
TextArea
Texto modificable presentado en varias líneas.
Label
Texto que el usuario no puede cambiar
Rafael Rivera López
2
Tópicos Selectos de Programación
package layouts;
import java.awt.*;
public class Componentes extends Frame{
public Componentes(){
super("Componentes AWT");
setSize(400,400);
setLocation(100,100);
setBackground(Color.gray);
addComponentes();
setVisible(true);
}
public void addComponentes(){
setLayout(null);
Button boton = new Button();
boton.setBackground(Color.white);
boton.setLabel("Mi botón");
boton.setBounds(50,50,150,40);
add(boton);
Label etiqueta = new Label("Este es un mensaje:");
etiqueta.setBounds(50,80,200,40);
add(etiqueta);
TextField campo = new TextField(30);
campo.setBackground(Color.cyan);
campo.setText("Valor de entrada");
campo.setBounds(50,120,200,40);
add(campo);
TextArea area = new TextArea(30,3);
area.setBackground(Color.lightGray);
area.setText("Captura de texto en varias lineas");
area.setBounds(50,170,200,80);
add(area);
Checkbox ch1 = new Checkbox("Uno",true);
Checkbox ch2 = new Checkbox();
ch1.setBounds(50,260,100,30);
add(ch1);
ch2.setLabel("Dos");
Rafael Rivera López
3
Tópicos Selectos de Programación
ch2.setBounds(50,280,100,30);
add(ch2);
CheckboxGroup grupo = new CheckboxGroup();
Checkbox chA = new Checkbox("Azul",grupo,true);
Checkbox chB = new Checkbox("Verde",grupo,false);
Checkbox chC = new Checkbox("Amarillo",grupo,false);
chA.setBounds( 50,310,80,30);
chB.setBounds(130,310,80,30);
chC.setBounds(210,310,80,30);
add(chA);
add(chB);
add(chC);
Choice sel = new Choice();
sel.addItem("Azul");
sel.addItem("Verde");
sel.addItem("Amarillo");
sel.select(1);
sel.setBounds(50,340,100,30);
add(sel);
}
List lista = new List(5);
lista.add("Opción 1");
lista.add("Opción 2");
lista.add("Opción 3");
lista.add("Opción 4");
lista.add("Opción 5");
lista.setBounds(260,50,100,40);
add(lista);
}
Rafael Rivera López
4
Descargar