zoukankan      html  css  js  c++  java
  • 文件对话框

    JFileChooser类可以创建文件对话框

    有下列保存和打开两个方法

    showSaveDialog(Component a);
    showOpenDialog(Component a);

    参数a是文件对话框的位置,null是在屏幕的中央,this在窗口中央

    用户操作对话框的“确定”,“取消”,“关闭”的时候,上面方法都会返回两个常量

    JFileChooser.APPROVE_OPTION

    JFileChooser.CANCEL_OPTION

    如果希望文件对话框所操作的文件类型是需要的几种,比如“jpg”图形啊,可以

    FileNameExtensionFilter filter1=new FileNameExtensionFilter("图形文件“,"jpg","gif")

    然后用文件对话框的实例调用setFileFilter(FileNameExtensionFilter filter)方法

    测试代码

    package testWin;
    
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.*;
    
    import javax.swing.*;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import java.awt.BorderLayout;
    import javax.swing.JTextField;
    import javax.swing.filechooser.FileNameExtensionFilter;
    
    public class TestWin {
        public static void main(String args[]){
            MyWin win1=new MyWin();
        }
    }
    
    class MyWin extends JFrame implements ActionListener{
        JFileChooser file1;//文件对话框
        JMenuBar menubar;
        JMenu menu;
        JMenuItem save,open;
        JTextArea text;
        BufferedReader in1;//缓冲输入
        FileReader fileReader;//文件字符输入
        BufferedWriter out1;//缓冲输出
        FileWriter fileWriter;//文件字符输出
        MyWin(){
            init();
            setBounds(30,30,300,400);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        void init(){
            text=new JTextArea(10,10);
            add(new JScrollPane(text),BorderLayout.CENTER);
            menubar=new JMenuBar();
            menu=new JMenu("file");
            save=new JMenuItem("save");
            open=new JMenuItem("open");
            save.addActionListener(this);
            open.addActionListener(this);
            menu.add(save);
            menu.add(open);
            menubar.add(menu);
            setJMenuBar(menubar);
            file1=new JFileChooser();
            FileNameExtensionFilter filter=new FileNameExtensionFilter("java文件","txt");//文件名过滤
            file1.setFileFilter(filter);//过滤下
        }
        public void actionPerformed(ActionEvent e){
            if(e.getSource()==save){
                int state=file1.showSaveDialog(this);//显示出保存框
                if(state==JFileChooser.APPROVE_OPTION){
                    try{
                        File dir=file1.getCurrentDirectory();//得到保存路径
                        String name=file1.getSelectedFile().getName();//得到选择的的名字
                        File file=new File(dir,name);
                        fileWriter=new FileWriter(file);
                        out1=new BufferedWriter(fileWriter);
                        out1.write(text.getText());
                        out1.close();
                        fileWriter.close();
                    }
                    catch(IOException exp){}
                }
            }
            else if(e.getSource()==open){
                int state=file1.showOpenDialog(this);
                if(state==JFileChooser.APPROVE_OPTION){
                    try{
                        File dir=file1.getCurrentDirectory();
                        String name=file1.getSelectedFile().getName();
                        File file=new File(dir,name);
                        fileReader=new FileReader(file);
                        in1=new BufferedReader(fileReader);
                        String s=null;
                        for(;(s=in1.readLine())!=null;){
                            text.append(s+"
    ");
                        }
                        in1.close();
                        fileReader.close();
                    }
                    catch(IOException exp){}
                }
            }
        }
    }
  • 相关阅读:
    java基本类型和包装类型的区别以及object的公共方法
    Scrapy学习
    centos系统python2.7更新到3.5
    requests和BeautifulSoup模块的使用
    基于角色的权限控制系统(role-based access control)
    Git的使用
    可插拔式后台管理系统(Django)
    Django admin site应用
    【算法】RMQ LCA 讲课杂记
    oh-my-zsh 安装和使用
  • 原文地址:https://www.cnblogs.com/vhyc/p/6036931.html
Copyright © 2011-2022 走看看