Ver Mensaje Individual
  #11 (permalink)  
Antiguo 27/04/2006, 16:10
cocke
 
Fecha de Ingreso: abril-2006
Mensajes: 22
Antigüedad: 18 años, 1 mes
Puntos: 0
Pequeño error

Gracias chuidiang!!
Ahora solo me queda un pequeño error.
El programa vectores.java sufrio la pequeña modificacion que me aconsejaste quedando asi ->

----------------------------------------------------------------------------------------------------------------------------------------------------
import java.lang.*;
import java.io.*;
import java.awt.*;
import javax.swing.JFrame;

public class vectores{

//propiedades de la clase vector

BufferedReader stdin; //objeto stdin
int arg1, arg2, arg3, arg4;//argumentos de entrada
int sumai, sumaj;
int argumen1, argumen2, argumen3, argumen4;
boolean error;//demarcador de errores

//Contructor
public vectores(int ar1, int ar2, int ar3, int ar4, boolean e){

stdin = new BufferedReader ( new InputStreamReader(System.in));
arg1=ar1;
arg2=ar2;
arg3=ar3;
arg4=ar4;
error=e;

}

//validacion de argumentos
public void ingreso() throws IOException {
do{
error=false;
try{

System.out.print("\nIngrese valor para posicion i ");
arg1= Integer.parseInt(stdin.readLine());


if(arg1>=0)
argumen1=400+arg1;
else
argumen1=400-arg1;


System.out.print("\nIngrese valor para posicion j ");
arg2= Integer.parseInt(stdin.readLine());


if(arg2>=0)
argumen2=300-arg2;
else
argumen2=300+arg2;


System.out.print("\nIngrese valor para posicion i ");
arg3= Integer.parseInt(stdin.readLine());


if(arg3>=0)
argumen3=400+arg3;
else
argumen3=400-arg3;


System.out.print("\nIngrese valor para posicion j ");
arg4= Integer.parseInt(stdin.readLine());


if(arg2>=0)
argumen4=300-arg4;
else
argumen4=300+arg4;


}catch(NumberFormatException e){System.out.print("Error: " + e.getMessage()) ; error=true;}
}while(error);

}

public void suma(){
sumai=0;
sumaj=0;
sumai=argumen1+argumen3;
sumaj=argumen2+argumen4;
System.out.print("\nLas coordenadas del vector resultante son: "+ sumai + "y" + sumaj);

}

public void dibuja(Graphics g){
g.drawLine(100, 300, 700, 300); // Dibujo eje x
g.drawLine(400, 100, 400, 500); // Dibujo eje y
g.drawLine(400, argumen1, 300, argumen2); // Dibujo vector 1
g.drawLine(400, argumen3, 300, argumen4); // Dibujo vector 2
g.drawLine(400, sumai, 300, sumaj); // Dibujo vector resultante
}

}

----------------------------------------------------------------------------------------------------------------------------------------------------

El cual me corre sin ningun problema; el problemilla esta en MiClase.java, el cual ahora esta asi ->

import java.io.*;
import java.awt.*;
import javax.swing.JFrame;


public class MiClase extends JFrame{

public static void main (String [] args) throws IOException {


vectores mismetodos = new vectores (0, 0, 0, 0, false);
mismetodos.ingreso();
mismetodos.suma();
paint(g);

MiClase v = new MiClase();
v.setSize(800,600); // Hacemos que la ventana tenga un tamaño.
v.setVisible(true); // Hacemos que la ventana se vea
}

public void paint (Graphics g){

super.paint(g); // Dejamos que la ventana se dibuje normalmente
vectores Mivector = new vectores(0, 0, 0, 0, false); // Instanciamos la clase vectores
Mivector.dibuja(g); // Mando a llamar al metodo dibuja(g)

} // Fin paint()

}

----------------------------------------------------------------------------------------------------------------------------------------------------


El problema esta en que yo en el main mando a llamar a todos los metodos en la primera parte ->
--------------------------------------------------------------------------
public static void main (String [] args) throws IOException {

vectores mismetodos = new vectores (0, 0, 0, 0, false);
mismetodos.ingreso();
mismetodos.suma();
paint(g);
--------------------------------------------------------------------------

Pero cuando intento llamar al metodo paint (g), el cual a su vez manda a llamar al metodo dibuja(g), me tira el siguiente error -> cannot resolve symbol variable g, y es necesario llamara al metodo paint ya que ese el el metodo que dibuja en el fondo con los parametros que ingresa el usuario.

Si nuevamente me pudieses ayudar, estaria muy agradecido.
Muchas gracias por tu apoyo otra vez.

Saludos

Adios :)