Ho una classe che estende JFrame per la gui e si chiama GUI.
ho un'altra classe, di nome Eventi, che deve essere in grado di 'maneggiare' la gui stessa,
all'interno di GUI come variabili di classe ho
codice:
// Passo l'handler della gui al container dei gestori eventi
Eventi mgrEventi = new Eventi(this);
// Elementi della GUI
public JButton quit = new JButton("Quit");
public String testo = "il testo";
nell'altra classe ho una variabile di classe
che viene inizializzata dal costruttore
codice:
Eventi (JFrame inJFrame ) {
gui = inJFrame;
}
così pensavo di riuscire ad accedere all'interfaccia grafica da dentro la classe che gestisce gli eventi
più sotto ricavo, per esempio, il titolo della gui, segno che il 'riferimento' all'oggetto jframe è stato preso bene
codice:
String titolo = gui.getTitle();
e va tutto bene, riesco anche ad assegnare la stringa al jbutton corrispondente al source dell'evento. ok
il PROBLEMA è che non riesco invece ad accedere alla variabile PUBBLICA 'testo', il compilatore mi dice che non la trova
codice:
.\lib\Eventi.java:29: cannot find symbol
symbol : variable testo
location: class javax.swing.JFrame
JButton button = gui.testo;
^
se ho il riferimento all'istanza della classe GUI, come mai posso utilizzarne i metodi ereditati da JFrame, ma non posso accedere ad una variabile pubblica di istanza!?!??!