PDA

View Full Version : [JAVA] visualizzaione di argometi di un JComBox


DesmoColo
24-09-2004, 14:24
Nell'interfaccia che ho costruito ho messo un JComboBox contente tutte le provincie d'Italia. Le provincie vengono lette da un file txt e inserite come oggetto nel box con nomeBox.addItem();
Quando faccio girare l'interfaccia sotto windows il box visualizza corretamente le provincie all'interno, ma se gira sooto linux il box appare vuoto. Come mai? C'entra qualcosa che su windows compilo con Jcreator e sotto linux uso netbeans?

PS: in ogni caso la versione sdk è la medesima su entrambi i SO

anx721
24-09-2004, 15:25
No è che sbagli a leggere dal file? Come apri il file? Per caso hai usato il separatore \ che sotto linux deve essere /?

Se no posta il codice

DesmoColo
24-09-2004, 16:11
String[] arrayProv = new String[104];
int j = 0;

try{
BufferedReader fileIn =
new BufferedReader(new FileReader("orderProv.txt"));
String nextStr;
nextStr = fileIn.readLine();
while(nextStr != null){

/*campoProvincia.addItem(nextStr);*/
arrayProv[j] = nextStr;
j++;
nextStr = fileIn.readLine();
}
fileIn.close();
}catch(IOException e){}
/*inserisco ogni provincia nel Box campoProvincia*/
for(int k = 0; k < arrayProv.length; k++)
campoProvincia.addItem(arrayProv[k]);

anx721
24-09-2004, 16:21
no ha senso raccogliere le eccezione e non scrivere niente ndel blocco catch...serve solo a nscaondere se ci sono errori, quindi come minimo sostituisci

catch(IOException e){}


con


catch(IOException e){
System.out.println(e);
}



e vedi se c'è un'eccezione nella lettura del file.

DesmoColo
25-09-2004, 17:25
In effetti adesso mi dice che non riesce a trovare il file da leggere. ma con JCreator però lo trova....che sia una particolarità di netBeans? L'ho installato anche su windows e si comporta come su linux adesso...

anx721
25-09-2004, 17:35
Al 99% dipende dalla cartella da cui viene lanciato il comamdo per l'esecuzione del programma: dovrebbe infatti essere questa la cartella base rispetto a cui viene risolto il percorso relativo di un file. Se ad esempio il rpogramma si trova dentro A/B/xx.class e ti posizioni dentro A/B per lanciare il comando di esecuzione la cartella base è A/B/ e quindi se nel programma vuoi aprire il file pippo.txt è come se stessi aprendo A/B/pippo.txt.

Se invece lanci il comando di esecuzione dalla cartella A è quella la cartella base, per cui se apri pippo.txt è come se stai aprendo A/pippo.txt. Se stai lanciando il programma dall'ambiente di programazione dovresti poter stabilire quale e la cartella da cui viene lanciato il comando, oppure lancialo a mano tu posizionandoti nella cartella che vuoi, perche tanto quando il programma sarà usato non sarà lanciato con netbeans.