Sì, allora tu fai una cosa del genere:
e poi dopo un po' te ne esci concodice:JLabel fName;
La prima delle due righe sta semplicemente a dire: Esisterà un oggetto di tipo JLabel e nome fName. Altre informazioni non ne dà, non viene creato, nè chiaramente aggiunto a nessun contenitore.codice:fName.setText(....);
Quando provi ad eseguire la seconda riga, l'interprete si "perde" perché pur essendo stato dichiarato, l'oggeto fName non è stato di fatto inizializzato.
Per cui da qualche parte, ad esempio nel costruttore, dovrai aggiungere un paio di righe:
codice:fName = new JLabel("File: "); qualcheContenitore.add(fName);