Perché non gestisci l'eccezione? Prova quanto meno a fare un
dentro al catch!!codice:ex.printStackTrace();
Poi ad occhio direi che stai mescolando Swing con AWT ed è male.
Un esempio un po' più funzionante potrebbe essere:
Per brevità ho eliminato la gestione delle azioni del JFileChooser, cosa che invece andrebbe fatta.codice:import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.io.*; /** * * @author Andrea */ public class JFileChooserTest extends JFrame { JTextArea ta; private class MyActionListener implements ActionListener { JFileChooserTest fct; public MyActionListener (JFileChooserTest fct) { this.fct = fct; } public void actionPerformed (ActionEvent ae) { JFileChooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File(".")); chooser.showOpenDialog(fct); try { File f = new File(chooser.getSelectedFile().getPath()); BufferedReader in = new BufferedReader(new FileReader(f)); String line; while((line = in.readLine()) != null) { ta.append("\n" + line); } } catch(Exception ex) { ex.printStackTrace(); } } } public JFileChooserTest() { super("Another test"); this.setSize(600,600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton open = new JButton("Apri..."); this.getContentPane().add(open, BorderLayout.SOUTH); ta = new JTextArea(); this.getContentPane().add(new JScrollPane(ta), BorderLayout.CENTER); open.addActionListener(new MyActionListener(this)); this.setVisible(true); } public static void main (String[] args) { new JFileChooserTest(); } }

Rispondi quotando