Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda con Applet, no Dibuja

Estas en el tema de Ayuda con Applet, no Dibuja en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 22/06/2007, 16:13
Avatar de andre_cl  
Fecha de Ingreso: enero-2007
Ubicación: STGO - CHILE
Mensajes: 51
Antigüedad: 17 años, 3 meses
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]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.