Professional Documents
Culture Documents
GridBagLayout
Ejemplos
Uso de mens
Menu
MenuBar
Unidad: 2 MenuItem
Laboratorio de Programacin Ejemplos
Gestin de eventos
Repaso
Universidad Nacional de la Patagonia Austral Ejemplos
Unidad Acadmica Ro Gallegos Pasos para la creacin de una aplicacin
CardLayout
Administradores de diseo Este administrador es el nico que
avanzados permite cambiar los componentes en
pantalla en tiempo de ejecucin.
Su potencia radica en el uso de
Layouts Managers paneles.
Podremos en un instante determinado
visualizar uno de los paneles dejando
los otros paneles sin visualizar.
insertando, claro est, los componentes necesarios en cada CardLayout(int distancia_h, int distancia_v)
panel.
Mtodos de CardLayout
Aadir mediante el mtodo add() de la clase Container los first(Container padre) Visualiza el primer contenedor.
paneles creados, al panel cuyo administrador es CardLayout.
last(Container padre) Visualiza el ltimo contenedor.
En el mtodo add se asigna una etiqueta al componente
gestionado: next(Container padre) Visualiza el siguiente contenedor.
Component add(String label, Component c); show(Container padre, String nombre) Visualiza un
1
CardLayout CardLayout: ejemplo
Ejemplo:
Ejemplo:
CardLayout layout = new CardLayout();
setLayout(layout);
Button b1 = new Button(Primer Boton");
Button b2 = new Button(Segundo Botn");
add(primero",b1);
add(segundo",b2);
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent ev) {
layout.next(this);
}
};
b1.addActionListener(this);
b2.addActionListener(this);
2
GridBagLayout: ejemplo GridBagLayout: ejemplo
GridBagLayout layout = new GridBagLayout();
setLayout(layout); c.gridx = 0;
GridBagConstraints c = new GridBagConstraints(); c.gridy = 1;
Button b1 = new Button("uno"); c.gridwidth = 1;
Button b2 = new Button("dos"); c.fill = GridBagConstraints.BOTH;
Button b3 = new Button("tres"); layout.setConstraints(b2,c);
Button b4 = new Button("cuatro"); add(b2);
c.gridx = 0; c.gridx = 0;
c.gridy = 0; c.gridy = 2;
c.gridwidth = 2; // el valor de c.gridwidth era 1
c.fill = GridBagConstraints.BOTH; c.fill = GridBagConstraints.BOTH;
layout.setConstraints(b1,c); layout.setConstraints(b3,c);
add(b1); add(b3);
GridBagLayout: ejemplo
c.gridx = 1;
c.gridy = 1;
// el valor de c.gridwidth era 1
c.gridheight = 2;
Uso de Menu en los frames
c.fill = GridBagConstraints.BOTH;
layout.setConstraints(b4,c);
add(b4);
// fin codigo
Menu Menu
Los frames pueden tener barra de Constructor:
mens. Menu();
Constructor: crear una barra de mens: Menu(String menuLabel);
MenuBar(); Menu(String menuLabel,boolean
allowTearoff);
Aadir una barra de mens a un frame:
void setMenuBar(MenuBar mb); Aadir un menu a una barra de mens:
Menu add(Menu m);
3
Menu Menu
Creacin de un men: Ejemplo:
1 se crea una MenuBar, despus se Frame myFrame = new Frame();
// Crear barra de mens
crean los Menus y los MenuItem MenuBar myMenuBar = new MenuBar();
// Aadir la barra de mens al frame
Los MenuItems se aaden al Menu, los myFrame.setMenuBar(myMenuBar);
Menus se aaden a la MenuBar y la // Crear men
Menu fileMenu = new Menu("File");
MenuBar se aade a un Frame // Aadir men a barra de mens
myMenuBar.add(fileMenu);
Menu Menu
Las entradas del men se pueden aadir Creando un submen:
Menu printSubmenu = new Menu("Print");
directamente, o creando un MenuItem:
fileMenu.add(printSubmenu);
fileMenu.add("Open"); printSubmenu.add("Print Preview");
MenuItem saveMenuItem = new MenuItem("Save"); printSubmenu.add("Print Document");
fileMenu.add(saveMenuItem);
Los mens pueden contener entradas de tipo Checkbox:
Constructor: CheckboxMenuItem(String itemLabel);
Las entradas del men pueden habilitarse o Metodos: boolean getState();
deshabilitarse: void setState(boolean newState);
saveMenuItem.setEnabled(false);
La colocacin de los mens en la barra es de izquierda a derecha.
Para aadir un separador al men usar: Puede crearse un nico men en el lado derecho (normalmente de
void addSeparator(); ayuda) con:
void setHelpMenu(Menu helpMenu);
4
Menu: ejemplo
Ejemplo: ventana y barra de mens
// una ventana nueva
Gestin de Eventos
Frame f = new Frame();
Ejemplo:
boton.addActionListener(obj_escuchador);
boton.removeActionListener(obj_escuchador);
5
Mtodos Mtodos
6
Ejemplo Ejemplo
class InterfazUsuario
{ class CerrarVentana implements WindowListener
public InterfazUsuario() {
{ public void windowActivated(WindowEvent we){}
// Se crea una ventana public void windowClosed(WindowEvent we){}
Frame miFrame = new Frame("Ventana en Java"); public void windowClosing(WindowEvent we){
miFrame.setLayout(new FlowLayout()); System.exit(0);
miFrame.setSize(450,150); }
miFrame.setVisible(true); public void windowDeactivated(WindowEvent we){}
// Se registran los receptores de eventos public void windowDeiconified(WindowEvent we){}
miFrame.addWindowListener(new CerrarVentana()); public void windowIconified(WindowEvent we){}
} public void windowOpened(WindowEvent we){}
} };
7
Pasos creacin aplicacin (2) Pasos creacin aplicacin (3)
import java.awt.*;
import java.awt.event.*;
class InterfazUsuario
{ public class EjemploAwt
public InterfazUsuario() {
{ public static void main(String arg[])
// Crear componentes {
// Crear ventana InterfazUsuario ventana = new InterfazUsuario();
Frame miFrame = new Frame("Ventana en Java"); }
miFrame.setLayout(new FlowLayout()); }
// Aadir componentes a la ventana
miFrame.add();
// Dar tamao y mostrar ventana
miFrame.setSize(450,150);
miFrame.setVisible(true);
// Registrar gestores de eventos
}
};