1. 程式人生 > >《Java程式設計》第16週週四:GUI程式設計及檔案對話方塊的使用~作業

《Java程式設計》第16週週四:GUI程式設計及檔案對話方塊的使用~作業

import java.awt.FlowLayout;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.io.File;  
import javax.swing.JButton;  
import javax.swing.JFileChooser;  
import javax.swing.JFrame;  
import javax.swing.JLabel;  
import javax.swing.JTextField;  
public class FileChooser extends JFrame implements ActionListener{  
    /** 
     *  
     */  
    private static final long serialVersionUID = 1L;  
    JButton open=null;  
    JTextField jtfPath = null;  
    JLabel j1=null;  
    JTextField jtfPath1=null;  
    public static void main(String[] args) {  
        new FileChooser();  
    }  
    public FileChooser(){  
        this.setLayout(new FlowLayout());  
          
        // 按鈕初始化  
        open=new JButton("open");  
        // 新增監聽  
        open.addActionListener(this);  
        // 把按鈕新增到JFrame容器中  
        this.add(open);  
          
        // 新增文字框控制元件  
        jtfPath = new JTextField("選擇的檔案",50);  
        jtfPath.setEditable(false);     // 不可編輯  
        jtfPath.setHorizontalAlignment(JTextField.CENTER);    // 居中  
        this.add(jtfPath);  
     // 設定JFrame的大小,可顯示,預設關閉按鈕  
        this.setBounds(400, 200, 700, 500);  
        this.setVisible(true);  
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
          
        JLabel j1=new JLabel("選擇檔案or資料夾");  
        j1.setBounds(10,100,43,33);  
        this.add(j1);  
        jtfPath1 = new JTextField("選擇的檔案or資料夾");  
        jtfPath1.setEditable(false);  
        jtfPath1.setHorizontalAlignment(JTextField.CENTER);  
        this.add(jtfPath1);  
    }  
    @Override  
    public void actionPerformed(ActionEvent e) {  
        // TODO Auto-generated method stub  
        JFileChooser jfc=new JFileChooser();  
        jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );  
        jfc.showDialog(new JLabel(), "選擇");  
        File file=jfc.getSelectedFile();  
          
        if(file.isDirectory()){  
            System.out.println("資料夾:"+file.getAbsolutePath());  
              
        }else if(file.isFile()){  
            System.out.println("檔案:"+file.getAbsolutePath());  
        }  
        System.out.println(jfc.getSelectedFile().getName());  
          
        // 把檔案路徑顯示在文字框中  
        jtfPath.setText(file.getAbsolutePath());  
    }  
}  
<img src="https://img-blog.csdn.net/20150629112110167?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzkxNDM5Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />