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

problema con Clase Graphics

Estas en el tema de problema con Clase Graphics en el foro de Java en Foros del Web. Resulta que estoy intentando dibujar una simple recta y=a+bx.Y no se como llamar a la funcion Graphics.El metodo para pintar la recta lo tengo aqui ...
  #1 (permalink)  
Antiguo 03/08/2008, 03:01
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
problema con Clase Graphics

Resulta que estoy intentando dibujar una simple recta y=a+bx.Y no se como llamar a la funcion Graphics.El metodo para pintar la recta lo tengo aqui pero como instancio el Graphics me dice q es abstracta por lo q no se puede hacer esto
Graphics g = new Graphics();

Alguien sabe algo?igual es una pregunta tonta pero no arranco,mil gracias!!!

public class Dibujar extends Applet{
public Dibujar() {
}
public void paint( Graphics g ,int x1,int y1,int x2,int y2) {
// Pinta el mensaje en la posición indicada
g.setColor(Color.yellow);
g.drawLine(x1,y1,x2, y2 );
//g.drawString( "Hola Mundo!",25,25 );
}

}
  #2 (permalink)  
Antiguo 03/08/2008, 03:32
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: problema con Clase Graphics

Código PHP:
 this.getGraphics(); 
  #3 (permalink)  
Antiguo 03/08/2008, 04:39
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

gracias pero no asi no funciona tampoco; yo quiero instanciarlo para probarlo en otro sitio que no es donde esta la clase Dibujar; me explico? this solo sirve para cuando estas dentro de una misma clase!!!

o no lo pillo..Gracias!!!
  #4 (permalink)  
Antiguo 03/08/2008, 04:41
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

intento en el main probarlo asi:
pero necesito instanciar Graphics g = new Graphics(); pero asi no deja!!

Dibujar d=new Dibujar();
d.paint(g,0,2,0,0.5);//en la g da error porque no deja instanciarlo
  #5 (permalink)  
Antiguo 03/08/2008, 04:55
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: problema con Clase Graphics

Cita:
Iniciado por txiti Ver Mensaje
intento en el main probarlo asi:
pero necesito instanciar Graphics g = new Graphics(); pero asi no deja!!
Y por mucho que lo intentes, no te va a dejar... como tú mismo dijiste Graphics es una clase abstracta... necesita que la implementación la haga otra clase, y en este caso tienes que acceder a la instancia a través de Applet.

No tiene mucho sentido que intentes hacerlo desde main, puesto que el objeto que te "permite" dibujar sólo lo obtienes del Applet... úsalo dentro del Applet. :)

Si quieres usar el método que haga el pintado quítale ese parámetro, puesto que ya lo conoces dentro de la clase.

No veo mayor problema:


Código PHP:
Dibujar d=new Dibujar();
d.paint(0,2,0,0.5); 
Y en la definición del método:

Código PHP:
public void paint(int x1,int y1,int x2,int y2) {
   
this.getGraphics().setColor(Color.yellow);
   
this.getGraphics().drawLine(x1,y1,x2y2 );

  #6 (permalink)  
Antiguo 03/08/2008, 07:35
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

ok.Muchas muchas gracias! pero asi ya me dibujara la recta.
Es que en el main lo pruebo aunque nose si se podra probar en el main(igual es una burrada).Lo he probado y me da un java lang null pointer exception!

Dibujar d=new Dibujar();
d.paint(0,2,0,1/2);
  #7 (permalink)  
Antiguo 03/08/2008, 09:28
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: problema con Clase Graphics

Uhm... weno, se me había pasado que era un Applet, incluso cuando estabamos hablando que era uno. :P

Un Applet tiene una entrada distinta que main: el métido init.

Mira este ejemplo:

Código PHP:
public class Prueba extends Applet {

    @
Override
    
public void init() {
        
System.out.println("Inicio...");
    }
    
    public 
void paint(int x1,int y1,int x2,int y2) {
        
this.getGraphics().setColor(Color.BLACK);
        
this.getGraphics().drawLine(x1,y1,x2y2 );
    }

    @
Override
    
public void paint(Graphics g) {
        
this.paint(00this.getWidth(), this.getHeight());
        
this.paint(0this.getHeight(), this.getWidth(), 0);
    }
    

Se sobrecarga el método paint para llamar al método de dibujo de las rectas. Puedes enviar el objeto Graphics a tu método desde paint o puedes seguir haciéndolo con this.getGraphics().
  #8 (permalink)  
Antiguo 03/08/2008, 09:41
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

@Override
public void paint(Graphics g) {
this.paint(0, 0, this.getWidth(), this.getHeight());
this.paint(0, this.getHeight(), this.getWidth(), 0);
}

}

voy a seguir teniendo problemas ala hora de llamar al metodo con Graphics, yo creo q no me entiendes!
  #9 (permalink)  
Antiguo 03/08/2008, 10:18
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: problema con Clase Graphics

Cita:
Iniciado por txiti Ver Mensaje
voy a seguir teniendo problemas ala hora de llamar al metodo con Graphics, yo creo q no me entiendes!
Y yo creo que no te fías de mi palabra... puesto que no probaste el código.

No tienes que preocuparte por el Graphics del método paint, puesto que tu no tienes por qué llamarlo y quién lo llama sabe que parámetro tiene que pasarle.

De hecho, como te dije en el código "no hace falta" el Graphics de paint. Como ves, yo no lo uso. Lo hice así para que vieras que "no era necesario".
  #10 (permalink)  
Antiguo 03/08/2008, 10:43
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

vale pero en el main de mi aplicación no aparece la recta hago una pequeña prueba y no sale mi duda es!!!la siguiente: será porque un applet es una pantallita de java q sale de repente y se dibujara la recta, si me fio de ti.Pero soy un mar de dudas en algo tan simple aparentemente!!!
  #11 (permalink)  
Antiguo 04/08/2008, 08:50
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: problema con Clase Graphics

Cita:
Iniciado por txiti Ver Mensaje
vale pero en el main de mi aplicación no aparece la recta hago una pequeña prueba y no sale mi duda es!!!la siguiente: será porque un applet es una pantallita de java q sale de repente y se dibujara la recta
Debes tener en cuenta que un Applet es un "programa" especial que va a ser invocado de una forma especial.

Cita:
si me fio de ti.Pero soy un mar de dudas en algo tan simple aparentemente!!!
No hombre, si estaba bromeando.

De todas formas, igual te convendría dar un repasillo a cómo funciona un applet antes de ponerte en serio con ellos.
  #12 (permalink)  
Antiguo 04/08/2008, 11:36
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

jeje!vale aunk algo tan simple como dibujar una recta pk lo complican tanto?
  #13 (permalink)  
Antiguo 04/08/2008, 12:11
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: problema con Clase Graphics

Cita:
Iniciado por txiti Ver Mensaje
jeje!vale aunk algo tan simple como dibujar una recta pk lo complican tanto?
Weno, si miras el último código no queda tan raro... o al menos yo no lo veo así. De hecho queda más compacto.

En todo lo que se hace hay detrás bastante "trabajo". Es cierto que en este caso del applet es un poco más, pero mira... con todo ese "trabajo" te ahorras mucho más. Consigues tener un código que se ejecuta fácilmente desde el navegador. Algo impensable hace no muchos años. :P
  #14 (permalink)  
Antiguo 04/08/2008, 12:29
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

a ver si lo consigo ya t contare por q me tiene la dichosa recta!
  #15 (permalink)  
Antiguo 04/08/2008, 12:57
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

Me sale el applet en gris y me pone Ha fallado la carga del applet a q debe ser?
  #16 (permalink)  
Antiguo 10/08/2008, 11:28
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

Xinef que explorador usas?es problema de mi explorador pk no me aparecen los
applets al compilarlo
  #17 (permalink)  
Antiguo 16/08/2008, 09:18
 
Fecha de Ingreso: junio-2008
Mensajes: 168
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con Clase Graphics

Xinef!!!!!!!!!! ayuda!!sigo sin poder ver rectas!
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 05:17.