PDA

Visualizza la versione completa : [Java] Salva, apri


keratox
08-12-2003, 15:52
Come faccio a far si' che venga aperta quella finestrella dove c'Ť la lista file e directory per l'apertura e per il salvataggio?

Xadoom
08-12-2003, 15:59
Devi instanziare un JFileChooser, ti restituisce il file selezionato.
Consulta le api in linea, ora nn ricordo esattamente come funzica.
Ciao

Zero-2
08-12-2003, 16:08
Preso dalle API di java



JFileChooser chooser = new JFileChooser();
// Note: source for ExampleFileFilter can be found in FileChooserDemo,
// under the demo/jfc directory in the Java 2 SDK, Standard Edition.
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("jpg");
filter.addExtension("gif");
filter.setDescription("JPG & GIF Images");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}

keratox
08-12-2003, 16:26
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("txt");
filter.setDescription("Text document");
jfc.setFileFilter(filter);
int returnVal = jfc.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
jfc.getSelectedFile().getName());


mi dŗ 3 errori:


Editor.java:66: cannot resolve symbol
symbol : class ExampleFileFilter
location: class Editor
ExampleFileFilter filter = new ExampleFileFilter();
^
Editor.java:66: cannot resolve symbol
symbol : class ExampleFileFilter
location: class Editor
ExampleFileFilter filter = new ExampleFileFilter();
^
Editor.java:70: parent is not public in java.awt.Component; cannot be accessed f
rom outside package
int returnVal = jfc.showOpenDialog(parent);
^
3 errors

Zero-2
08-12-2003, 16:35
Il parametro parent(di tipo Component) indica il componente sul quale vuoi far comparire il mený , ad esempio se sei in un frame puoi scriverci this, altrimenti se vuoi rendere indipendente il mený metti null.
No scusa , la classe ExampleFileFIlter puoi toglierla dall'esempio.

Zero-2
08-12-2003, 16:37
int returnVal = jfc.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
jfc.getSelectedFile().getName());

keratox
08-12-2003, 16:44
Grazie!!!
Come faccio a far si' che se il file e' testuale venga caricato nel JTextArea?

keratox
08-12-2003, 16:46
if(jfc.getSelectedFile().getExtension() != "txt"){
System.out.println("Errore!!!");
}


puo' andare?

Zero-2
08-12-2003, 17:01
Un volta che hai ottenuto il nome e il path del file
devi crearti un STream di input e leggere dallo stream.
Se vuoi fari si che vengano visualizzati solo file di testo devi crearti una classe che estenda FileFilter.
Cmq ti consiglio di dare uno sguardo alle API di java
http://java.sun.com/j2se/1.4.2/docs/api/
dovresti sempre averle sotto mano quando programmi.

keratox
08-12-2003, 17:10
Ah ok. Thank you

ciao

Loading