Java - JFileChooser


Objekt klase JFileChooser predstavlja dijaloški prozor iz kog korisnik može odabrati datoteku. Nasljeđuje klasu JComponent. Pogledajmo deklaraciju za klasu javax.swing.JFileChooser:

public class JFileChooser extends JComponent implements Accessible  


Najčešće korišteni konstruktori

Konstruktor Opis
JFileChooser() Konstruše JFileChooser koji ukazuje na korisnikov zadani direktorij.
JFileChooser(File currentDirectory) Konstruiše JFileChooser koristeći datu datoteku kao putanju.
JFileChooser(String currentDirectoryPath) Konstruiše JFileChooser koristeći datu putanju.


Primjer Java JFileChooser

// Importovanje potrebnih biblioteka
import javax.swing.*;    
import java.awt.event.*;    
import java.io.*;    

public class Main extends JFrame implements ActionListener{    
    JMenuBar mb;    
    JMenu file;    
    JMenuItem open;    
    JTextArea ta;   
    
    Main(){  
        // Kriranje menija i dodavanje ActionListener-a
        open = new JMenuItem("Open File");    
        open.addActionListener(this);
        
        // Kreiranje stavke menija
        file = new JMenu("File");    
        file.add(open); 
        
        // Podešavanje veličine menija
        mb = new JMenuBar();    
        mb.setBounds(0,0,800,20);    
        mb.add(file);  
        
        // Podešavanje veličine tekstualnog prostora na Frame-u
        ta=new JTextArea(800,800);    
        ta.setBounds(0,20,800,800);    
        
        // Dodavanje elemenata na Frame
        add(mb);    
        add(ta);              
    }    
    // Kriranje odabira dokumenta i prikzaivanje na Frame-u
    public void actionPerformed(ActionEvent e) {    
        if(e.getSource() == open){    
            JFileChooser fc=new JFileChooser();    
            int i=fc.showOpenDialog(this);    
            if(i==JFileChooser.APPROVE_OPTION){    
                File f=fc.getSelectedFile();    
                String filepath=f.getPath();    
                try{  
                    BufferedReader br=new BufferedReader(new FileReader(filepath));    
                    String s1 = "",s2="";                         
                    while((s1=br.readLine())!=null){    
                    s2+=s1+"\n";    
                }    
                    ta.setText(s2);    
                    br.close();    
                }
                catch (Exception ex) {ex.printStackTrace();  
                }                 
            }    
        }    
    }    
    // Metoda Main
    public static void main(String[] args) { 
        Main om = new Main();    
        om.setSize(500,500);    
        om.setLayout(null);    
        om.setVisible(true);    
        om.setDefaultCloseOperation(EXIT_ON_CLOSE);    
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako: