Manejo de clases y variables
Saludos compañeros, estoy tratando de implementar un menu, y el codigo lo pongo mas abajo. El problema es que declaro una variable en la clase principal, y quiero usar esa variable en otra clase distinta, pero no me deja, como podria hacerlo ???
class Generar
{
// Declaracion de variables
Generar ()
}
public class Menu
{
JList lis;
...
Menu ()
{
...
}
static public void main (...)
{
...
miframe.getContentPane().add(new Menu());
}
}
y dentro del constructor de Generar uso la variable lis, y ahi es donde me da el error.
Y otra cosa: quiero que en la ficha ppal, en el panel del medio, le de a un boton y me salga todo lo que contiene la clase Generar(), que le tendria que poner al ActionListener del boton, solo el codigo "new Generar ()" ?¿
Espero que me haya explicado bien, y espero vuestras respuestas. Gracias por adelantado.
class Generar
{
// Declaracion de variables
Generar ()
}
public class Menu
{
JList lis;
...
Menu ()
{
...
}
static public void main (...)
{
...
miframe.getContentPane().add(new Menu());
}
}
y dentro del constructor de Generar uso la variable lis, y ahi es donde me da el error.
Y otra cosa: quiero que en la ficha ppal, en el panel del medio, le de a un boton y me salga todo lo que contiene la clase Generar(), que le tendria que poner al ActionListener del boton, solo el codigo "new Generar ()" ?¿
Espero que me haya explicado bien, y espero vuestras respuestas. Gracias por adelantado.
Con lo primero:
Para poder utilizar una variable de una clase en otra, la debes declarar de tipo public, asÃ:
public JList lis;
de o contrario se declara como privada y no puedes acceder a ella desde otra clase.
Con lo segundo:
el código new Generar() crea una instancia de la clase Generar, es decir llama al constructor, lo que tengas dentro del constructor se ejecutará. Si dentro del constructor imprimes todos los datos de tu clase, eso se mostrará, pero si no deberás implementarlo.
Otra forma es creando una función dentro de la clase Generar, la cual te imprima lo que contiene esa clase, algo asÃ:
public void imprimir(){
System.out.println(datomiembro1);
System.out.println(datomiembro2);
....
etc.....
}.
Espero te ayude,
Salu2.
Para poder utilizar una variable de una clase en otra, la debes declarar de tipo public, asÃ:
public JList lis;
de o contrario se declara como privada y no puedes acceder a ella desde otra clase.
Con lo segundo:
el código new Generar() crea una instancia de la clase Generar, es decir llama al constructor, lo que tengas dentro del constructor se ejecutará. Si dentro del constructor imprimes todos los datos de tu clase, eso se mostrará, pero si no deberás implementarlo.
Otra forma es creando una función dentro de la clase Generar, la cual te imprima lo que contiene esa clase, algo asÃ:
public void imprimir(){
System.out.println(datomiembro1);
System.out.println(datomiembro2);
....
etc.....
}.
Espero te ayude,
Salu2.