Salve ragazzi ho creato una frame che utilizza un jfileChooser. Non riesco a fare in modo che mi salvi solo i file. dat. Se in salva in nome file scrivo un file e un estensione diversa da dat ad esempio txt me la salva , non riesco a capire come fare in modo che non mi salvi altre estensioni se non quella specificata , potete spiegarmi perchè?
codice:public class Esempio10 extends JFrame { JOptionPane msg=new JOptionPane(); JFileChooser fileChooser=new JFileChooser(); JTextArea textArea=new JTextArea(20,60); public Esempio10() { super("Esempio JTextArea, Menu, JOptionPane e JFileChooser"); //crea una JFrame con titolo JMenuBar menuBar=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenuItem apri=new JMenuItem("Apri"); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.addChoosableFileFilter (new FileNameExtensionFilter ("File dat", "dat")); //fileChooser.addChoosableFileFilter (new ExtensionFileFilter ("dat", "Tutti i file con estensione .dat")); apri.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (fileChooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION) { try { FileReader f = new FileReader(fileChooser.getSelectedFile()); boolean fine=false; while(!fine) { try{ int c=f.read(); if (c==-1) fine=true; else textArea.append((char)c+""); } catch (IOException ioex) { } } } catch (FileNotFoundException fnf) {} } } }); JMenuItem salva=new JMenuItem("Salva"); salva.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (fileChooser.showSaveDialog(null)==JFileChooser.APPROVE_OPTION) { try { FileWriter f = new FileWriter(fileChooser.getSelectedFile()); String s=textArea.getText(); f.write(s); f.flush(); f.close(); } catch (IOException ioe) {} } } }); JMenuItem chiudi=new JMenuItem("Chiudi"); chiudi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (msg.showConfirmDialog(null,"Sei sicuro di voler uscire?", "Conferma", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION) System.exit(0); } }); fileMenu.add(apri); fileMenu.add(salva); fileMenu.addSeparator(); fileMenu.add(chiudi); menuBar.add(fileMenu); JMenu aboutMenu=new JMenu("Informazioni"); aboutMenu.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { JOptionPane msg= new JOptionPane(); msg.showMessageDialog(null, "Prova JTextArea, JMenu, JOptionPane e JFileChooser", "Informazioni", JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(aboutMenu); this.setJMenuBar(menuBar); setLocation(200, 100); //imposta la posizione del vertice in alto a sinistra addWindowListener(new ExitListener()); //aggiunge un listener per la chiusura Container container=getContentPane(); container.setLayout(new GridLayout(1,1)); textArea.setLineWrap(true); textArea.setWrapStyleWord(true); container.add(textArea); container.add(new JScrollPane(textArea)); pack(); //"impacchetta" il frame, cioè fa in modo che assuma dimensione tale //da contenere esattamente ciò che è contenuto nella finestra setVisible(true);//mostra la finestra. Equivale a setVisible(true); } public static void main(String[] args) { /* try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) {}*/ Esempio10 es10= new Esempio10(); } }

Rispondi quotando
