Java - Pasar información de una clase a otra

 
Vista:

Pasar información de una clase a otra

Publicado por Vctrsnts (12 intervenciones) el 10/03/2004 03:44:16
Buenas.

Tengo dos clases y necesito pasar una información de una clase a otra. En principio parece facil, pero la cosa es un poco complicada. A ver quien me puede echar una mano.

En la primera clase tengo el siguiente codigo:
String direccion = nodoinfo.toString(); //Guardo el nombre de un fichero.
ModeloTabla Modelo = new ModeloTabla(); //creo el AbstractTableModel para un Jtable
JTable Tabla = new JTable(Modelo); //Creo el Jtable

En la segunda clase tengo el siguiente codigo:
class ModeloTabla extends AbstractTableModel { //defino una clase
private String direccion = null; //creo una variable string
final String[] columnNames = {"Datos"}; //Nombre de la columna
final Object[][] data = ListObj(direccion); //Contenido d la columna, recibe "direccion"
private Object[][] ListObj(String direccion) { //funcion q devuelve Object[][]
...
...
return Lista;
}
}
Entonces mi problema es, como puedo pasar la variable "dirección" de la primera clase a la variable "direccion" de la segunda clase.
He probado de ponerla en el constructor, pero el problema es que antes de que se ejecute el constructor, se me ejecuta la parte "final Object[][] data = ListObj(direccion)" de la segunda clase. Y claro en ese momento "direccion" vale "null".
Y asi me encuentro, que tengo que pasar esa información de una clase a otra, pero no tengo ni idea de como se puede hacer.

Gracias si alguien puede echarme una mano.
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

RE:Pasar información de una clase a otra

Publicado por Oscar (661 intervenciones) el 10/03/2004 08:04:15
Clase1 {
// declaras todo lo necesario
Construtor o metodo(){
Clase2(parametros)
}
}

Clase2 {
// declaras todas las variables, pero no las inicializas

Clase2(parametros) {
// inicializas las variables que declarste arriba con los parametros del constructor
}
}
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

RE:Pasar información de una clase a otra

Publicado por Vctrsnts (12 intervenciones) el 10/03/2004 11:47:54
Buenas.

Perdon pero te logro entender lo que quieres decimer.
Te explico lo que yo entiendo, a ver si es esto.

En la Clase1, se crea una llamada al constructor de la clase2, y entonces en la clase2 se crea un constructor, donde se pondra todo lo necesario, y aprovechando los parametros del constructor se inicializan las variables.

Si es esto lo que quieres decirme, lo siento, pero ya lo he probado, pero me pasa que cuando llega el constructor veo los parametros, pero cuando entro en la inicialización de una variable que esta dentro del constructor me da error porque el valor vale null.

Espero que me entiendas.
Y ante todo gracias por la ayuda
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

RE:Pasar información de una clase a otra

Publicado por Ed (55 intervenciones) el 10/03/2004 17:55:01
Hola. Yo creo que la solución podría ser algo así como lo siguiente:

//...
class ModeloTabla extends AbstractTableModel {
private String direccion = null;
final String[] columnNames = {"Datos"};
final Object[][] data;

public ModeloTabla (String dir) { // recibe la dirección en el constructor
direccion = dir;
data = ListObj(direccion);
}

private Object[][] ListObj(String direccion) {
...
...
return Lista;
}
}
//...

Desde la otra clase se haría el llamado:
//...
Modelotabla modelo = new ModeloTabla ("ladireccion");
//...
Espero te sirva.

Un saludo
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

RE:Pasar información de una clase a otra

Publicado por Vctrsnts (12 intervenciones) el 10/03/2004 18:39:22
gracias por la ayuda
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