PDA

Visualizza la versione completa : [JAVA] Errore chiamata metodo JLabel da metodo statico


Carosene
09-01-2006, 00:56
In una classe JFrame che contiene anche il metodo main, NetBeans non permette di inserire la seguente riga di codice nel metodo main:

jLabel1.setText(percorso);

Errore:

non-static variable jLabel1 cannot be referenced from a static context

Come mai?

Se inserisco la suddetta riga nel costruttore della classe tutto ok :D

unomichisiada
09-01-2006, 01:21
Originariamente inviato da Carosene
In una classe JFrame che contiene anche il metodo main, NetBeans non permette di inserire la seguente riga di codice nel metodo main:

jLabel1.setText(percorso);

Errore:

non-static variable jLabel1 cannot be referenced from a static context

Come mai?

Se inserisco la suddetta riga nel costruttore della classe tutto ok :D
Non è un problema di Netbeans è che è proprio un'errore farlo in generale: il metodo main è statico, cioè è un metodo di classe non di istansta, ed è accessibile senza istanziare la classe cui appartiene, jLabel1 invece è evidenetemente una variabile di istanza (un campo) ed è accessibile solo in metodi non statici perchè viene creata solo una volta istanzaiato (con new) l'oggetto.Il medesimo errore te lo darebbe usandola da qualsiasi altro metodo static.Dal costruttore tutto ok perchè nel costruttore si è certi che quella variabile esiste.

Carosene
09-01-2006, 12:09
Grazie mille

Loading