
22/06/2007, 16:13
|
 | | | Fecha de Ingreso: enero-2007 Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 18 años, 1 mes Puntos: 0 | |
Ayuda con Applet, no Dibuja Bueno, por pedido de la universidad debo hacer un sistema que muestre un control de flota de un recorrido de buses. El problema que tengo es que tengo gran parte del codigo realizado, ahora estoy en la parte en que aparezcan los 10 paraderos con que contara el sistema, pero no me sale nada. Ejecuto el Applet y sale en blanco, porfavor alguien que pueda ayudarme a ver en que esta fallando.
Código:
import java.awt.*;
import java.util.*;
import java.applet.Applet;
import java.io.*;
public class TransaApplet extends Applet {
int NParada=10;
Parada parada[]=new Parada[10];
Random aleatorio=new Random();
TransaPanel p1;
public void init() {
//Iniciamos las Paradas
parada[0]=new Parada(20,20,30,10);
parada[1]=new Parada(20,20,30,10);
parada[2]=new Parada(20,20,30,10);
parada[3]=new Parada(20,20,30,10);
parada[4]=new Parada(20,20,30,10);
parada[5]=new Parada(20,20,30,10);
parada[6]=new Parada(20,20,30,10);
parada[7]=new Parada(20,20,30,10);
parada[8]=new Parada(20,20,30,10);
parada[9]=new Parada(20,20,30,10);
//Fin Inicio Parada
p1=new TransaPanel(this);
add("Center",p1);
new DibujoThread(p1).start();
}
}
class DibujoThread extends Thread{
TransaPanel transa;
public DibujoThread(TransaPanel tran){
transa=tran;
setPriority(1);
}
public void run(){
do
{
transa.repaint();
}while(true);
}
}
class bus {
//Parametros para el dibujo del bus
int x0,y0;
Color color;
//Constructor
public bus(int x0,int y0){
this.x0=x0;
this.y0=y0;
//Color del bus
color=Color.red;
}
//Metodo de Dibujo Semaforo
public void dibujoBus(Graphics g){
g.setColor(color);
g.fillOval(x0,y0,20,20);
g.setColor(Color.black);
g.drawOval(x0,y0,20,20);
}
}
class Parada{
int x0,y0,ancho,alto;
//Constructor
public Parada(int x0,int y0,int ancho,int alto){
this.x0=x0;
this.y0=y0;
this.ancho=ancho;
this.alto=alto;
}
//Dibujar Parada
public void dibujoParada(Graphics g){
//Parada ubicada en zona superior
if(ancho>alto)
{
g.drawRect(x0,y0,ancho,alto);
}
else
{
g.drawRect(x0,y0,alto,ancho);
}
}
public void paint(Graphics g){
dibujoParada(g);
}
}
class Trayectoria{
bus oruga;
int pasajeros,numbus,velocidad;
//Constructor Trayectoria
public Trayectoria(int x0,int y0,int numbus,int velocidad,int pasajeros){
oruga=new bus(x0,y0);
this.numbus=numbus;
this.velocidad=velocidad;
this.pasajeros=pasajeros;
}
}
class TransaPanel extends Panel{
TransaApplet ia;
//Variables para dibujo fuera de pantalla
Dimension offDimension;
Image OffImage;
Graphics OffGraphico;
Font fuente_transa,font_subtitle;
//Constructor de la clase
public TransaPanel(TransaApplet ia){
this.ia=ia;
}
//Creacion de las imagenes
public void update(Graphics g){
Dimension dim=size();
//Verificamos si existen datos o no
if((OffGraphico==null) || (dim.width!=offDimension.width) || (dim.height!=offDimension.height)){
offDimension=dim;
OffImage=createImage(dim.width,dim.height);
OffGraphico=OffImage.getGraphics();
}
//Borramos datos anteriores
OffGraphico.setColor(getBackground());
OffGraphico.fillRect(0,0,dim.width,dim.height);
OffGraphico.setColor(Color.black);
//Dibujamos Transa fuera de pantalla
dibujoTransa(OffGraphico);
//Enviamos el dibujo a pantalla
g.drawImage(OffImage,0,0,null);
}
//Metodo Basico de Dibujo
public void paint(Graphics g){
update(g);
}
//Dibujamos Transantiago
public void dibujoTransa(Graphics g){
Color colorantiguo;
/*Dibujamos El Fondo*/
fuente_transa=new Font("Geneva",1,18);
font_subtitle=new Font("Arial",1,12);
//dibuja el fondo
//Dibujamos Cabeceras
g.setFont(fuente_transa);
//g.drawImage(Logo01,5,5,this);
g.drawString("Monitor de Flujo Vehicular",200,80);
//Fin Dibujo Cabeceras
//Dibujo Circuito
g.drawOval(300,120,500,500);
//Fin Circuito
//Dibujo Combo Detalle Seleccion
g.setFont(font_subtitle);
g.drawString("Detalle Seleccion",20,132);
g.drawRoundRect(10,120,200,400,2,2);
//Fin Dibujo Combo Detalle Seleccion
//Dibujo de Linea de Cierre
g.drawLine(0,700,700,700);
//Fin Dibujo Linea de Cierre
/*Fin Dibujo Fondo*/
for (int i=0;i<ia.NParada;i++){
ia.parada[i].dibujoParada(g);
}
}
}
__________________ Andrés Sepulveda E.
Universidad de Santiago de Chile (USACH).
contacto: [email protected] |