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

Ayuda intercambio de valores entre clases

Estas en el tema de Ayuda intercambio de valores entre clases en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/07/2008, 12:30
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Ayuda intercambio de valores entre clases

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
  #2 (permalink)  
Antiguo 11/07/2008, 15:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 17 años
Puntos: 8
Respuesta: Ayuda intercambio de valores entre clases

Utiliza el patron de diseño singleton que es tener una sola instancia por clase por ejemplo;

Código PHP:
public class Prueba{
      private static 
Prueba prueba null;

      public static 
Prueba getInstance(){
           if(
prueba == null){
                    
prueba = new Prueba();
            }
            return 
prueba;
      }


Como ves en el ejemplo te aseguras de tener solo una instancia de la clase y cuando quieras leer algun valor solo le invocas asi Prueba.getIntance().getValor()

salu2
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 12:50.