Java练习:文件对话框

虽然Java图形界面没有流行,但是文件对话框可能还有点用。

代码改编自《Java核心技术卷1》第十版,在Java 8下运行正常。

import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.*;

public class Main{
    public static void main(String[] args) {
        JFileChooser chooser = new JFileChooser();

        System.out.println("尝试打开文件:");
        chooser.setDialogTitle("选择打开文件");
        //使用当前的工作目录
        chooser.setCurrentDirectory(new File("."));
        //设置过滤器
        FileNameExtensionFilter filter = new FileNameExtensionFilter("Text files", "txt");
        chooser.setFileFilter(filter);
        //不允许多选
        chooser.setMultiSelectionEnabled(false);
        //选择的默认文件名
        chooser.setSelectedFile(new File("UTF.txt")) ;
        int result = chooser.showOpenDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            System.out.println("路径:" + chooser.getSelectedFile().getPath());
            System.out.println("绝对路径:" + chooser.getSelectedFile().getAbsolutePath());
            System.out.println("文件名:" + chooser.getSelectedFile().getName());
            System.out.println("目录:" + chooser.getSelectedFile().getParent());
        }

        System.out.println("\n尝试打开目录:");
        chooser.setDialogTitle("选择目录");
        //设置只能选择目录(默认只能选择文件)
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        result = chooser.showOpenDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            System.out.println("路径:" + chooser.getSelectedFile().getPath());
        } else if (result == JFileChooser.CANCEL_OPTION) {
            System.out.println("已经取消。");
        } else if (result == JFileChooser.ERROR_OPTION) {
            System.out.println("发生错误。");
        }

        System.out.println("\n尝试另存为:");
        chooser.setDialogTitle("另存文件");
        //设置只能选择文件
        chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        result = chooser.showSaveDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            System.out.println("绝对路径:" + chooser.getSelectedFile().getAbsolutePath());
        }
    }
}

 

posted @ 2021-03-01 21:30  我的成功之路  阅读(163)  评论(0)    收藏  举报