filechooser

package filechooser;

import java.awt.BorderLayout;
import java.awt.Dimension;
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.JPanel;
import javax.swing.JTextField;

public class FramechooseFileDemo extends JFrame
{
    private static final long serialVersionUID = 1L;
    
    private BorderLayout borderLayout = new BorderLayout();
    
    private JPanel panel = new JPanel();
    
    private JLabel label1 = new JLabel();
    
    private JTextField textField1 = new JTextField();
    
    private JLabel label2 = new JLabel();
    
    private JTextField textField2 = new JTextField();
    
    private JButton button1 = new JButton();
    
    private JButton button2 = new JButton();
    
    private FlowLayout flowLayout = new FlowLayout();
    
    public FramechooseFileDemo()
    {
        try
        {
            init();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public void init()
        throws Exception
    {
        getContentPane().setLayout(borderLayout);
        label1.setText("打开文件");
        label2.setToolTipText(" ");
        label2.setText("保存文件");
        button1.setText("....");
        button2.setToolTipText(" ");
        button2.setText("....");
        textField1.setPreferredSize(new Dimension(204, 22));
        textField1.setToolTipText(" ");
        textField2.setPreferredSize(new Dimension(204, 22));
        label1.setToolTipText(" ");
        this.setTitle("文件选择器(JFileChooser)");
        panel.setPreferredSize(new Dimension(339, 138));
        this.getContentPane().add(panel, BorderLayout.CENTER);
        panel.add(label1, null);
        panel.add(textField1, null);
        panel.add(button1, null);
        panel.add(label2, null);
        panel.add(textField2, null);
        panel.add(button2, null);
        panel.setLayout(flowLayout);
        button1.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                openfile();
            }
        });
        button2.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                savefile();
            }
        });
    }
    
    void openfile()
    {
        JFileChooser fc = new JFileChooser();
        fc.setDialogTitle("选择文件演示");
        fc.setDialogType(JFileChooser.CUSTOM_DIALOG);
        if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
        {
            this.textField1.setText(fc.getSelectedFile().toString());
            this.textField2.setText(fc.getSelectedFile().toString());
        }
    }
    
    void savefile()
    {
        JFileChooser fc = new JFileChooser();
        fc.setDialogTitle("保存文件演示");
        fc.setDialogType(JFileChooser.SAVE_DIALOG);
        File file = new File(textField1.getText());
        fc.setCurrentDirectory(file);
        fc.setControlButtonsAreShown(true);
        fc.setSelectedFile(file);
        if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
        {
            
        }
    }
    
    public static void main(String[] args)
    {
        FramechooseFileDemo frame = new FramechooseFileDemo();
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
 

你可能感兴趣的:(java,swing)