⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filechooserdemo.java

📁 gcc的组建
💻 JAVA
字号:
/* FileChooserDemo.java -- An example showing file choosers in Swing.   Copyright (C) 2005,  Free Software Foundation, Inc.This file is part of GNU Classpath examples.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.*/package gnu.classpath.examples.swing;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import javax.swing.BorderFactory;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.filechooser.FileFilter;/** * A simple demo showing the {@link JFileChooser} component used in different * ways. */public class FileChooserDemo extends JFrame implements ActionListener {  /**   * A file filter for Java source files.   */  static class JavaFileFilter extends FileFilter  {    public String getDescription()     {      return "Java Source Files (.java)";    }    public boolean accept(File f)    {      if (f != null)       {        return f.getName().endsWith(".java") || f.isDirectory();      }      else         return false;    }  }      /** A label to display the selected file. */  JLabel selectedFileLabel;      /**    * A list showing the selected files (where multi selections are    * allowed).    */  JList selectedFilesList;      /** A label to display the return code for the JFileChooser. */  JLabel returnCodeLabel;      /**   * Creates a new demo instance.    *    * @param frameTitle  the frame title.   */  public FileChooserDemo(String frameTitle)   {    super(frameTitle);    JPanel content = createContent();    JPanel closePanel = new JPanel();    JButton closeButton = new JButton("Close");    closeButton.setActionCommand("CLOSE");    closeButton.addActionListener(this);    closePanel.add(closeButton);    content.add(closePanel, BorderLayout.SOUTH);    getContentPane().add(content);  }        /**   * Returns a panel with the demo content.  The panel   * uses a BorderLayout(), and the BorderLayout.SOUTH area   * is empty, to allow callers to add controls to the   * bottom of the panel if they want to (a close button is   * added if this demo is being run as a standalone demo).   */  JPanel createContent()  {          JPanel panel = new JPanel(new BorderLayout());         // create a panel of buttons to select the different styles of file     // chooser...    JPanel buttonPanel = new JPanel(new GridLayout(5, 1));    JButton openButton = new JButton("Open...");    openButton.setActionCommand("OPEN");    openButton.addActionListener(this);    buttonPanel.add(openButton);    JButton saveButton = new JButton("Save...");    saveButton.setActionCommand("SAVE");    saveButton.addActionListener(this);    buttonPanel.add(saveButton);    JButton queryButton = new JButton("Select Directory...");    queryButton.setActionCommand("SELECT_DIRECTORY");    queryButton.addActionListener(this);    buttonPanel.add(queryButton);    JButton openJavaButton = new JButton("Open Java file...");    openJavaButton.setActionCommand("OPEN_JAVA");    openJavaButton.addActionListener(this);    buttonPanel.add(openJavaButton);    JButton openMultiButton = new JButton("Open multiple files...");    openMultiButton.setActionCommand("OPEN_MULTI");    openMultiButton.addActionListener(this);    buttonPanel.add(openMultiButton);    panel.add(buttonPanel, BorderLayout.WEST);        // create a panel to display the selected file(s) and the return code    JPanel displayPanel = new JPanel(new BorderLayout());         selectedFileLabel = new JLabel("-");    selectedFileLabel.setBorder(BorderFactory.createTitledBorder("Selected File/Directory: "));    displayPanel.add(selectedFileLabel, BorderLayout.NORTH);            selectedFilesList = new JList();    JScrollPane sp = new JScrollPane(selectedFilesList);    sp.setBorder(BorderFactory.createTitledBorder("Selected Files: "));    displayPanel.add(sp);    returnCodeLabel = new JLabel("0");    returnCodeLabel.setBorder(BorderFactory.createTitledBorder("Return Code:"));    displayPanel.add(returnCodeLabel, BorderLayout.SOUTH);            panel.add(displayPanel);    return panel;          }      /**   * When the user clicks on a button, launch the appropriate file chooser   * and report the results.   *    * @param e  the event.   */  public void actionPerformed(ActionEvent e)  {    int option = 0;    File selectedFile = null;    File[] selectedFiles = new File[0];        if (e.getActionCommand().equals("CLOSE"))    {      System.exit(0);    }    else if (e.getActionCommand().equals("OPEN"))      {        JFileChooser chooser = new JFileChooser();        option = chooser.showOpenDialog(this);        selectedFile = chooser.getSelectedFile();        selectedFiles = chooser.getSelectedFiles();      }    else if (e.getActionCommand().equals("OPEN_MULTI"))      {        JFileChooser chooser = new JFileChooser();        chooser.setMultiSelectionEnabled(true);        option = chooser.showOpenDialog(this);        selectedFile = chooser.getSelectedFile();        selectedFiles = chooser.getSelectedFiles();      }    else if (e.getActionCommand().equals("OPEN_JAVA"))      {        JFileChooser chooser = new JFileChooser();        chooser.setAcceptAllFileFilterUsed(false);        chooser.setFileFilter(new JavaFileFilter());        option = chooser.showOpenDialog(this);        selectedFile = chooser.getSelectedFile();        selectedFiles = chooser.getSelectedFiles();      }    else if (e.getActionCommand().equals("SAVE"))      {        JFileChooser chooser = new JFileChooser();        option = chooser.showSaveDialog(this);        selectedFile = chooser.getSelectedFile();        selectedFiles = chooser.getSelectedFiles();      }    else if (e.getActionCommand().equals("SELECT_DIRECTORY"))      {        JFileChooser chooser = new JFileChooser();        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);        option = chooser.showDialog(this, "Select");        selectedFile = chooser.getSelectedFile();        selectedFiles = chooser.getSelectedFiles();      }         // display the selection and return code    if (selectedFile != null)      selectedFileLabel.setText(selectedFile.toString());    else      selectedFileLabel.setText("null");    DefaultListModel listModel = new DefaultListModel();    for (int i = 0; i < selectedFiles.length; i++)      listModel.addElement(selectedFiles[i]);    selectedFilesList.setModel(listModel);    returnCodeLabel.setText(Integer.toString(option));  }      public static void main(String[] args)   {    FileChooserDemo app = new FileChooserDemo("File Chooser Demo");    app.pack();    app.setVisible(true);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -