• Jueves 23 de Mayo de 2024, 22:53

Autor Tema:  Clase que invoca un metodo de otra clase  (Leído 1541 veces)

danielc1657

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Clase que invoca un metodo de otra clase
« en: Jueves 11 de Septiembre de 2008, 20:00 »
0
Buenas tardes.

Tengo una clase (lienzo) que implementa el metodo
public void paint (Graphics g){
.
.
}

y tengo 3 clases ( corredor1, corredor2, corredor3) que llaman a este metodo con "repaint", pero necesito saber cual es la clase que lo ha llamado y segun esto incrementar una variable que representa la coordenada en X que redibuja el objeto que se esta moviendo dependiendo de esto.

si clase que llama a repaint() = corredor1
   x1++;
sino si clase que llama a repaint() = corredor2
   x2++;
sino si clase que llama a repaint()= corredor3
   x3++;
g.drawRect(x1, y, 25,25);
g.drawOval(x2, y, 25,25);
g.drawRect(x3, y, 25,20);

//si la clase que llama al metodo repaint(); es corredor1, se incrementa x1 y asi sucesivamente.


o en su defecto necesito la forma de llamar al metodo repaint(); con parametros que segun he averiguado no es posible.


Agradezco cualquier ayuda. hasta pronto.

Boxcarpilot

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Clase que invoca un metodo de otra clase
« Respuesta #1 en: Domingo 12 de Octubre de 2008, 15:01 »
0
Tambien tengo un problema similar, es el la linea 16, al momento de llamar a Pack() luego de un IF:


import java.io.*;
class Diag
{
   
    int esA,esB,esC, esD;
    int a,b,c,d;
   
    void Avanzar(int v)
    {
       if (v==0)
          {
          System.out.println("Gracias, saliendo del programa... n");
          }
       else
         {
            Pac(); throws IOException;
         }
    }
   
   
    void Pac() throws IOException
    {
       
    System.out.println("Colocar el numero 1(uno) si hay sintoma, o el 2(dos) si no lo hay n");
   
    InputStreamReader ip=new InputStreamReader(System.in);
   BufferedReader w= new BufferedReader(ip);
   System.out.println("¿Tiene infeccion pulmonar?n");
    esA = Integer.parseInt(w.readLine());
   
    InputStreamReader tm=new InputStreamReader(System.in);
   BufferedReader br= new BufferedReader(tm);
   System.out.println("¿Tiene alta temperatura?n");
   esB=Integer.parseInt(br.readLine());
   
   InputStreamReader re=new InputStreamReader(System.in);
   BufferedReader ff= new BufferedReader(re);
   System.out.println("¿Tiene resfriado?n");
   esC=Integer.parseInt(ff.readLine());
   
   InputStreamReader ll=new InputStreamReader(System.in);
   BufferedReader pp= new BufferedReader(tm);
   System.out.println("¿Tiene la garganta irritada?n");
   esD=Integer.parseInt(pp.readLine());
   
   Fin (esA,esB,esC,esD);
       
    }


En esa misma linea, manda dos errores:

1-not a statement
2-illegal start of expression

Porq esta pasando esto?

Gracias

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Clase que invoca un metodo de otra clase
« Respuesta #2 en: Lunes 13 de Octubre de 2008, 17:12 »
0
Hola el método repaint se deriva de la clase Canvas pero te recomiendo que leas un poco aquí tal ves te ayude http://www.sc.ehu.es/sbweb/fisica/cursoJava/applets/events/canvas.htm y http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/herencia/interfaces.htm



y para Boxcarpilot tú problema está en como manejas la exception

al hacer esto lo que estás pidiendo que todas las ioexception que se den dentro de ese proceso las atrape y las lanze a donde sea implementado
Código: Text
  1. void Pac() throws IOException
  2.  

así que al invocarlo puedes hacer esto

Código: Text
  1. try{
  2.   Pac();
  3. }catch(IOExceptio e){
  4. }
  5.  
  6.  

o nuevamente envoler el método Avanzar

Código: Text
  1. void Avanzar(int v) throws IOException{
  2.    Pac();
  3. }
  4.  

suerte
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

Boxcarpilot

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Clase que invoca un metodo de otra clase
« Respuesta #3 en: Lunes 13 de Octubre de 2008, 23:52 »
0
Solucionado, el try cactch funciona pero preferi el throw Gracias

Gracia spor la ayuda