Java - Ayuda intercambios valores entre clases

   
Vista:

Ayuda intercambios valores entre clases

Publicado por Oscar (1 intervención) el 11/07/2008 20:24:10
Hola,

estoy desarrollando una aplicacion con swing y resulta que tengo en un InternalFrame un JTabbedPane el cual tiene 5 pestañas, cada una instanciada con una clase diferente.

Mi pregunta es, como logro hacer que la informacion de estas clases puedan leerse mutuamente. Es decir, existe algun metodo de la clase "Class" que pueda recuperar de memoria la clase instanciada y utilizarla con los valores que se han ido instanciando en un formulario?

Adjunto codigo:
public class InsertarProveedores extends JPanel
{
static Object objetos[][] = {
{ "General",GeneralProveedores.class },
{ "Facturación",FacturacionProveedores.class },
{ "Contactos",ContactosProveedor.class },
{ "Notas",NotasProveedor.class }

};

static JPanel creaPanel( Class clase ) {
String titulo = clase.getName();
System.out.println("Nombre clase:" + titulo);
titulo = titulo.substring( titulo.lastIndexOf('.') + 1 );
JPanel panel = null;
try {
panel = (JPanel)clase.newInstance();
} catch( Exception e ) {
System.out.println( e );
}
panel.setBorder( new javax.swing.border.TitledBorder( titulo ) );
return( panel );
}

public InsertarProveedores() {
setLayout( new BorderLayout() );
JTabbedPane pestana = new JTabbedPane();
imprime.imprimeTexto(objetos.length);
for( int i=0; i < objetos.length; i++ )
{
pestana.addTab( (String)objetos[i][0], creaPanel( (Class)objetos[i][1] ) );
}
InsertarProveedores.this.add( pestana,BorderLayout.CENTER );
pestana.setSelectedIndex( objetos.length/2 );


Como veis en cada iteracion se añade una instancia de la clase. El tema es que todas estan ahora activas en memoria, se pueden recuperar?

Saludos
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:Ayuda intercambios valores entre clases

Publicado por angel (537 intervenciones) el 11/07/2008 23:08:12
Te comento una idea...
Deberias tener una clase principal, donde estarian declaradas todas las clases que forman cada una de las clases que forman los paneles. Asi puedes acceder a todas desde la misma clase.
Ahora para intercambiar valores, debes poner en cada una de las clases metodos "set" y "get" para acceder a valores de variables internas de cada clase, ej:

tienes la clase "Clase1" esta clase contiene las variables "nombre" y "apellios", pues en la clase esas variables deben ser declaradas como "private" o "protected" y luego crear los metodos set y get

private String nombre;
public String getNombre()
{
return this.nombre;
}
public void setNombre(String nombre){
this.nombre = nombre;
}

...igual seria para apellidos..

Espero ayudarte un poco

Saludos.
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