Java - Problemas Con Canvas

 
Vista:
sin imagen de perfil

Problemas Con Canvas

Publicado por David (7 intervenciones) el 19/05/2006 09:54:37
Buenos dias, estoy haciendo un proyecto en el cual necesito mostrar un applet con la grafica del seno.. y poder cambiar su amplitud.. el problema radica q si pongo la grafica sola sin canvas.. la cosa funciona, pero en cuanto hago un programa principal para añadir el ScrollBary meto toda la estructura del grafico en el canvas.. ya me vuelve en blanco.. el canvas pero el ScrollBar me sale.
Muchisimas Gracias por la Ayuda

este es el codigo:

import java.awt.*;
import java.applet.*;

public class senofinal extends Applet {
Scrollbar sbRadio = new Scrollbar();
BorderLayout borderLayout1 = new BorderLayout();
GraficoSeno canvas;

public senofinal() {
}

public void init() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
int ancho = Integer.parseInt(this.getParameter("WIDTH"));
int alto = Integer.parseInt(this.getParameter("HEIGHT"));
this.setSize(new Dimension(ancho, alto));
canvas=new GraficoSeno();
sbRadio.setOrientation(0);
sbRadio.setValue(10);
sbRadio.setMaximum(110);
sbRadio.setMinimum(10);
this.setLayout(borderLayout1);
this.add(sbRadio, BorderLayout.NORTH);
this.add(canvas, BorderLayout.CENTER);
}


}



y luego esta el del grafico:

import java.awt.*;
import java.applet.Applet;
public class GraficoSeno extends Applet implements Runnable {
int x0,xN,y0,yN;
double xmin,xmax,ymin,ymax;
int apAncho,apAlto,te=0;
double pi=3.14;
Thread anima;
int ji=0;
public void init() {
Dimension d = size();
apAncho = d.width;
apAlto = d.height;

x0 = y0 = 0;
xN = apAncho-1;
yN = apAlto-1;
xmin = -10.0;
xmax = 10.0;
ymin = -1.0;
ymax = 1.0;

}

public void start(){
if(anima ==null){
anima=new Thread(this);
anima.start();
}
}

public void stop(){
if(anima!=null){
anima.stop();
anima=null;
}
}
public void run() {
while(anima!=null)
{
mover();
pause(95);
}
}
void mover(){
ji ++;
repaint(); //llama a paint
}

public void paint( Graphics g ) {

double x1,y1,x2,y2;
int j1,j2;
g.drawLine(0,0,0,100);
g.drawLine(1,0,1,100);
g.drawLine(2,0,2,100);
g.drawLine(3,0,3,100);
g.drawLine(4,0,4,100);
g.drawLine(5,0,5,100);
g.drawLine(0,50,1000,50);
j1 = ValorY( 0 );
for( int i=0; i < apAncho; i++ )
{
j2 = ValorY( i+1 );
g.drawLine( i,j1,i+1,j2 );
j1 = j2;
}

}
void pause(int time) {
try { Thread.sleep(time); }
catch (InterruptedException e) { }
}

private int ValorY( int valor ) {
double x,y;
int retorno;
// Cartesianas equivalentes al punto de la pantalla
x = (valor * (xmax-xmin) / (apAncho-1)) + xmin;
// Calculamos el seno de ese punto
y = Math.sin( ji-(x*3) );
te++;
// Escalamos la coordenada y dentro de los limites de la ventana
retorno = (int)( (y-ymin) * (apAlto-1) / (ymax-ymin) );
// Reconvertinos el valor cartesiano a punto de pantalla
retorno = apAlto - retorno;
return( retorno );
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Problemas Con Canvas

Publicado por David (7 intervenciones) el 22/05/2006 15:29:43
por favor.. alguna solucion.. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar