Interfaces Sistema de Reservaciones 1 InterfaceUsuario

Anuncio
Interfaces Sistema de Reservaciones
InterfaceUsuario.java
class InterfaceUsuario extends Frame implements WindowListener,
ActionListener {
private Pagina pagina; // pagina a desplegar
public InterfazUsuario() {
setSize(800,600);
setBackground(Color.lightGray);
addWindowListener(this);
pagina = new PaginaPrincipal();
desplegarPagina(pagina);
}
public void desplegarPagina(Pagina p) {
if (p != null) {
pagina = p;
p.desplegarPagina(this);
}
else
pagina.desplegarPagina(this); }
show();
}
public void setPagina (Pagina p) { pagina = p; }
public void actionPerformed(ActionEvent event) {
System.out.println("Action: "+event.getActionCommand());
Pagina p = pagina.manejarEvento(event.getActionCommand());
pagina.resetPagina(this);
desplegarPagina(p);
}
public void windowClosed(WindowEvent event) {
}
public void windowDeiconified(WindowEvent event) {
}
public void windowIconified(WindowEvent event) {
}
public void windowActivated(WindowEvent event) {
}
public void windowDeactivated(WindowEvent event) {
}
public void windowOpened(WindowEvent event) {
}
public void windowClosing(WindowEvent event) {
System.exit(0);
}
public static void main(String[] args) {
System.out.println("Starting System...");
InterfazUsuario iu = new InterfazUsuario();
}
}
Pagina.java
abstract class Pagina
{
protected Pagina return_p; // pagina de retorno
protected Vector paneles,botones,textos;
1
Interfaces Sistema de Reservaciones
protected Panel panel;
protected Button boton;
protected TextField texto;
public Pagina() {
resetPagina();
createPagina();
}
public Pagina(Pagina p) {
this();
return_p = p;
}
public abstract void createPagina();
public void agregarBotonesRegresarSalir(Panel panel){
boton = new Button ("Regresar");
botones.addElement(boton);
panel.add(boton);
boton = new Button ("Salir");
panel.add(boton);
botones.addElement(boton);
paneles.addElement(panel);
}
public Pagina manejarEventosRegresarSalir(String str) {
Pagina p = this;
if (str.equals("Regresar"))
p = getPaginaRegresar();
else if (str.equals("Salir"))
System.exit(0);
return p;
}
public Pagina getPaginaRegresar() { return return_p; }
public void desplegarPagina(InterfazUsuario ui) {
System.out.println("Desplegando: "+ this);
int ps = paneles.size();
ui.setLayout(new GridLayout(ps,1));
for (int i = 0; i < ps; i++)
ui.add((Panel)paneles.elementAt(i));
int bs = botones.size();
for (int i = 0; i < bs; i++)
if ((boton = (Button)botones.elementAt(i)) != null)
boton.addActionListener(ui);
}
public void resetPagina() {
paneles = new Vector();
botones = new Vector();
textos = new Vector();
}
public void resetPagina(InterfazUsuario ui) {
ui.removeAll();
int bs = botones.size();
for (int i = 0; i < bs; i++)
if ((boton = (Button)botones.elementAt(i)) != null)
boton.removeActionListener(ui);
}
public abstract Pagina manejarEvento(String str);
}
2
Interfaces Sistema de Reservaciones
PaginaPrincipal.java
class PaginaPrincipal extends Pagina
{
private Pagina paginaCrearRegUsuario;
private Pagina paginaServicio;
public void createPagina() {
panel = new Panel();
panel.setLayout(new GridLayout(1,1));
panel.add(new Label("SISTEMA DE RESERVACIONES DE VUELO",
Label.CENTER));
paneles.addElement(panel);
panel = new Panel();
panel.setLayout(new GridLayout(4,1));//5 fila, 1 cols
panel.add(new Label("Servicios Ofrecidos:", Label.CENTER));
panel.add(new Label("* Consulta de Vuelos, Tarifas y Horarios",
Label.CENTER));
panel.add(new Label("* Reserva de Vuelos", Label.CENTER));
panel.add(new Label("* Compra de Boletos", Label.CENTER));
paneles.addElement(panel);
panel = new Panel();
panel.setLayout(new GridLayout(1,1));
panel.add(new Label("Para registrarse por primera vez oprima:",
Label.CENTER));
paneles.addElement(panel);
panel = new Panel();
boton = new Button ("Registrarse por Primera Vez");
botones.addElement(boton);
panel.add(boton);
paneles.addElement(panel);
panel = new Panel();
panel.setLayout(new GridLayout(1,1));
panel.add(new Label("Para accesar todos los servicios de vuelo
(consulta, reserva, compra) o modificar su registro,
oprima:", Label.CENTER));
paneles.addElement(panel);
panel = new Panel();
panel.add(new Label("Login:", Label.LEFT));
panel.add(new TextField (20));
paneles.addElement(panel);
panel = new Panel();
panel.add(new Label("Password:"));
texto = new TextField(20);
texto.setEchoChar('#');
panel.add(texto);
paneles.addElement(panel);
panel = new Panel();
boton = new Button("OK");
botones.addElement(boton);
3
Interfaces Sistema de Reservaciones
panel.add(boton);
boton = new Button("Salir");
botones.addElement(boton);
panel.add(boton);
paneles.addElement(panel);
}
public Pagina manejarEvento(String str) {
if (str.equals("Registrarse por Primera Vez")) {
if (paginaCrearRegUsuario == null)
paginaCrearRegUsuario = new
PaginaCrearRegUsuario(this);
return paginaCrearRegUsuario;
}
else if (str.equals("OK")) {
if (paginaServicio == null)
paginaServicio = new PaginaServicio(this);
return paginaServicio;
}
else if (str.equals("Salir")) {
System.exit(0);
}
else
System.out.println("Error en PaginaPrincipal: "+str);
return this;
}
}
PaginaRegUsuario.java
abstract class PaginaRegUsuario extends Pagina {
protected Pagina paginaRegTarjeta;
public PaginaRegUsuario(Pagina p) {
super(p);
}
public void createPagina() {
panel = new Panel();
panel.setLayout(new GridLayout(2,1));
panel.add(new Label("SISTEMA DE RESERVACIONES DE VUELO",
Label.CENTER));
panel.add(new Label("Registro de Usuario", Label.CENTER));
paneles.addElement(panel);
panel = new Panel();
panel.add(new Label("Nombre:"));
texto = new TextField(20);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Apellido:"));
texto = new TextField(20);
textos.addElement(texto);
panel.add(texto);
paneles.addElement(panel);
panel = new Panel();
4
Interfaces Sistema de Reservaciones
panel.add(new Label("Calle:"));
texto = new TextField(20);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Colonia:"));
texto = new TextField(20);
textos.addElement(texto);
panel.add(texto);
paneles.addElement(panel);
panel = new Panel();
panel.add(new Label("Ciudad:"));
texto = new TextField(20);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Pais:"));
texto = new TextField(10);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Codigo Postal:"));
texto = new TextField(5);
textos.addElement(texto);
panel.add(texto);
paneles.addElement(panel);
panel = new Panel();
panel.add(new Label("Tel Casa:"));
texto = new TextField(15);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Tel Of.:"));
texto = new TextField(15);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Fax:"));
texto = new TextField(15);
textos.addElement(texto);
panel.add(texto);
paneles.addElement(panel);
panel = new Panel();
panel.add(new Label("Login:"));
texto = new TextField(10);
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("E-Mail:"));
texto = new TextField(40);
textos.addElement(texto);
panel.add(texto);
paneles.addElement(panel);
5
Interfaces Sistema de Reservaciones
panel = new Panel();
panel.add(new Label("Password"));
texto = new TextField(20);
texto.setEchoChar('#');
textos.addElement(texto);
panel.add(texto);
panel.add(new Label("Repetir Password"));
texto = new TextField(20);
texto.setEchoChar('#');
textos.addElement(texto);
panel.add(texto);
paneles.addElement(panel);
}
}
PaginaCrearRegUsuario.java
class PaginaCrearRegUsuario extends PaginaRegUsuario {
private Pagina paginaCrearRegTarjeta;
public PaginaCrearRegUsuario(Pagina p) {
super (p);
}
public void createPagina() {
super.createPagina();
panel = new Panel();
boton = new Button("Registrar");
botones.addElement(boton);
panel.add(boton);
boton = new Button("Registrar Tarjeta");
botones.addElement(boton);
panel.add(boton);
agregarBotonesRegresarSalir(panel);
}
public Pagina manejarEvento(String str) {
if (str.equals("Registrar"))
return this;
else if (str.equals("Registrar Tarjeta")) {
if (paginaRegTarjeta == null)
paginaRegTarjeta = new PaginaCrearRegTarjeta(this);
return paginaRegTarjeta;
}
else
return manejarEventosRegresarSalir(str);
}
}
6
Documentos relacionados
Descargar