Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    problema con jfilechooser e metodo stampa

    Buongiorno a tutti ragazzi... ho un problema da porvi o con precisione ne ho 2 il primo riguarda l'utilizzo del JFILECHOOSER infatti dopo delle ricerche effettuate nel forum ho capito posto anche il codice

    codice:
    private void ModificaBtnActionPerformed(java.awt.event.ActionEvent evt) {                                            
    FileChoser.setVisible(true);
    int option = FileChoser.showOpenDialog(Testo.this);
    FileChoser.setApproveButtonText("Apri");
    FileChoser.setDialogTitle("Apri il file di testo da modificare");
    FileChoser.setFileFilter(new txtFilter());
    if (option == JFileChooser.APPROVE_OPTION) {
    File[] sf = FileChoser.getSelectedFiles( );
    String filelist = "nothing";
    if (sf.length > 0) filelist = sf[0].getName( );
    for (int i = 1; i < sf.length; i++) {
    filelist += ", " + sf[i].getName( );
    prova.setText("Hai Scelto di aprire " + filelist);
    }
    }
    else {
    prova.setText("Non hai aperto nulla da modificare");
    }
    }
    se non erro in sf bovrebbe esserci il mio file o meglio il path del mio file giusto?
    ecco ora qello che dovrei fare...
    ho un area di teto con "AreaTesto" nel suo interno vorrei far comparire il contenuto del mio file che premetto è un file txt.
    ho provato a crearmi un metodo di stampa solo che va tutto in eccezione

    codice:
    public static String LeggiTesto(File sf,int n) throws Exception{
        // 1. apertura del file in lettura 
    String[] v = new String[n];
    FileReader f = new FileReader(sf); 
    BufferedReader in = new BufferedReader(f);  
    int i=0;    
    	
    	String linea = in.readLine();    
    	while ((linea!=null) && (i<n)) {
    		v[i] = linea;       
    		linea = in.readLine();       
    		i++;    
    	}    
    	
    	f.close();    
    	return v; 
    }
    mi segnala come errore return v e mi dice incompatible types non so perchè...
    ragazzi non sono bravo ma mi sto sforzando di imparare ...
    per favore mi fate un esempio su come aprire un file txt con jfilechooser visto che io non ci riesco ...
    grazie a coloro che mi aiuteranno
    saluti a tutti

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    perché v è un vettore di stringhe non una sola stringa...
    e comunque puoi anche nn utilizzare un vettore puoi fare benissimo:
    codice:
    FileInputStream fis=new FileInputStream(f);
    
    InputStreamReader isr=new InputStreamReader(fis);
    
    BufferedReader br=new BufferedReader(isr);
    
    String line="";
    
    String s=null;
    
    while((s = br.readLine())!=null) {
    
                                
    
                 line+=s+"\n";
    
                 areatesto.setText(line);
    
    }

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problema con jfilechooser e metodo stampa

    Originariamente inviato da Mircodj
    codice:
    FileChoser.setVisible(true);
    int option = FileChoser.showOpenDialog(Testo.this);
    FileChoser.setApproveButtonText("Apri");
    FileChoser.setDialogTitle("Apri il file di testo da modificare");
    FileChoser.setFileFilter(new txtFilter());
    Perché fai un setVisible(true) sul file chooser??? Non serve.
    E poi prima fai le varie impostazioni (titolo, filtri ecc...) e poi dopo invochi showOpenDialog().


    Originariamente inviato da Mircodj
    ho un area di teto con "AreaTesto" nel suo interno vorrei far comparire il contenuto del mio file che premetto è un file txt.
    Il tuo componente su cui devi caricare il testo è una JTextArea (immagino ....)? Nota che i componenti di testo (quelli che discendono da JTextComponent) hanno un comodo metodo read().

    Quindi:

    codice:
    File file = tuoChooser.getSelectedFile ();
    
    ....
    FileReader fr = new FileReader (file);
    tuaJTextArea.read (fr, null);
    fr.close ();
    Chiaramente vanno gestite le eccezioni! (ho omesso la gestione per brevità, solo per farti capire il concetto). Sia il costruttore di FileReader, sia read(), sia close() possono lanciare eccezioni (IOException in generale)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    andbin grazie mille per l'auito solo che ho un problema
    se scrivo in questo modo mi segnala errore
    codice:
    File file = tuoChooser.getSelectedFile ();
    
    ....
    FileReader fr = new FileReader (file);
    vorrebbe la dichiarazione in questo modo
    [code]
    File [COLOR =red][] [/COLOR] file = tuoChooser.getSelectedFile ();

    solo che se dichiaro con [] mi segnala errore FileReader
    FileReader fr = new FileReader (file);
    codice:
    
    
    non capisco perchè vuole [] e a cosa servono daltronde?
    ecco come mi segnala l'errore uffa

    per favore aiutami

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Mircodj
    non capisco perchè vuole [] e a cosa servono daltronde?
    JFileChooser può gestire la selezione singola (il default) o la selezione "multipla".

    Se hai invocato tuoChooser.setMultiSelectionEnabled(true) è perché vuoi la selezione multipla, quindi è ovvio che aspettandoti più file devi usare:

    File[] files = tuoChooser.getSelectedFiles();

    Se non ti serve e non hai abilitato la selezione multipla, ti puoi aspettare solo 1 file, quindi:

    File file = tuoChooser.getSelectedFile();
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    credo di esserci quasi solo che ho un altro errore
    cosa vuole adesso... mamma mia che mal di testa imparare... beato te andbin che sei così pratico... Una curiosità ma quanto tempo ci vuole per diventare bravi come te in java?
    lo so che non si finisce mai di imparare però più o meno?




    mi dice exception java.io.FileNotFoundException has already been caught

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Mircodj
    credo di esserci quasi solo che ho un altro errore
    cosa vuole adesso...
    FileNotFoundException è una sottoclasse di IOException, quindi è più specifica. E una regola del catch è che le eccezioni più specifiche vanno catturate prima di quelle meno specifiche.
    Inverti i due catch.

    P.S. fai un fr.close() nel try ma lo fai anche nel finally. Togli quello nel try.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    solo una cosa sei un grande .... grazie di tutto di cuore ... davvero mitico... ti auguro una splendida giornata..
    tutto funzionante

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.