//**************************************************************** // TRABAJO ISBC : INTEGRACION JAVA-JESS. CASO DEL ELEVADOR //**************************************************************** // // Fichero: CanvasBotones.java // Autor: // Modificado por: Daniel Urieta Lopez // Proposito: Contiene la clase CanvasBotones que representa // textualmente los pasajeros de un vector de // pasajeros. // //**************************************************************** import java.awt.*; import java.util.*; public class CanvasBotones extends Canvas { Vector pasajeros; public CanvasBotones() { this.setBackground(Color.white); setSize(20,60); pasajeros=new Vector(); } public CanvasBotones(int X,int Y) { this.setBackground(Color.white); setSize(X,Y); pasajeros=new Vector(); this.setBackground(Color.white); } public void addPasajero(Pasajero P) { pasajeros.addElement(P); this.validate(); this.repaint(); } public void removePasajero(Pasajero P) { if (! pasajeros.removeElement(P)) { System.out.println("El pasajero no se encontro"); } this.validate(); this.repaint(); } public void paint(Graphics g) { g.setColor(Color.black); int y; Pasajero P; int id, Or, De; Enumeration enum=pasajeros.elements(); // dibujar de abajo a arriba los numeros de los pisos, en 2 columnas // con una altura de 10 pixels entre filas // dejando 2 pixels de margen (por eso es 58, 2, 12) y = 58; for (int i = 1; i <= Edificio.MAX_NUM_PISOS; i++) { if ((i % 2) == 1) { g.drawString(i+"", 2, y); } else { g.drawString(i+"", 12, y); y -= 10; } } // dibujar los pisos seleccionados como destino en rojo g.setColor(Color.red); while (enum.hasMoreElements()) { P=(Pasajero) enum.nextElement(); De=P.GetPisoDestino().GetIdPiso(); if ((De % 2) == 1) { y = 58 - (10 * ((int) De/2)); g.drawString(De + "", 2,y); } else { y = 58 - (10 * ((De/2)-1)); g.drawString(De + "", 12, y); } } } }