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

📄 filechooserdemo.java

📁 一个小公司要求给写的很简单的任务管理系统。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * @(#)FileChooserDemo.java	1.31 06/02/03 *  * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: *  * -Redistribution of source code must retain the above copyright notice, this *  list of conditions and the following disclaimer. *  * -Redistribution in binary form must reproduce the above copyright notice,  *  this list of conditions and the following disclaimer in the documentation *  and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors may  * be used to endorse or promote products derived from this software without  * specific prior written permission. *  * This software is provided "AS IS," without a warranty of any kind. ALL  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST  * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY  * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *  * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility. *//* * @(#)FileChooserDemo.java	1.31 06/02/03 */import javax.swing.*;import javax.swing.filechooser.*;import javax.swing.plaf.FileChooserUI;import javax.swing.plaf.basic.BasicFileChooserUI;import java.awt.*;import java.io.File;import java.awt.event.*;import java.beans.*;import java.util.Vector;import static javax.swing.JFileChooser.*;/** * * A demo which makes extensive use of the file chooser. * * 1.31 02/03/06 * @author Jeff Dinkins */public class FileChooserDemo extends JPanel implements ActionListener {    static JFrame frame;    Vector<SupportedLaF> supportedLaFs = new Vector();    static class SupportedLaF {	String name;	LookAndFeel laf;	SupportedLaF(String name, LookAndFeel laf) {	    this.name = name;	    this.laf = laf;	}	public String toString() {	    return name;	}    }    JButton showButton;    JCheckBox showAllFilesFilterCheckBox;    JCheckBox showImageFilesFilterCheckBox;    JCheckBox showFullDescriptionCheckBox;        JCheckBox useFileViewCheckBox;    JCheckBox accessoryCheckBox;    JCheckBox setHiddenCheckBox;    JCheckBox useEmbedInWizardCheckBox;    JCheckBox useControlsCheckBox;    JCheckBox enableDragCheckBox;    JRadioButton singleSelectionRadioButton;    JRadioButton multiSelectionRadioButton;    JRadioButton openRadioButton;    JRadioButton saveRadioButton;    JRadioButton customButton;    JComboBox lafComboBox;    JRadioButton justFilesRadioButton;    JRadioButton justDirectoriesRadioButton;    JRadioButton bothFilesAndDirectoriesRadioButton;    JTextField customField;    FileFilter jpgFilter, gifFilter, bothFilter;    ExampleFileView fileView;    JPanel buttonPanel;    public final static Dimension hpad10 = new Dimension(10,1);    public final static Dimension vpad20 = new Dimension(1,20);    public final static Dimension vpad7 = new Dimension(1, 7);    public final static Dimension vpad4 = new Dimension(1, 4);    public final static Insets insets = new Insets(5, 10, 0, 10);    FilePreviewer previewer;    JFileChooser chooser;    public FileChooserDemo() {	UIManager.LookAndFeelInfo[] installedLafs = UIManager.getInstalledLookAndFeels();	for (UIManager.LookAndFeelInfo lafInfo : installedLafs) {	    try { 		Class lnfClass = Class.forName(lafInfo.getClassName());		LookAndFeel laf = (LookAndFeel)(lnfClass.newInstance());		if (laf.isSupportedLookAndFeel()) {		    String name = lafInfo.getName();		    supportedLaFs.add(new SupportedLaF(name, laf));		}	    } catch (Exception e) { // If ANYTHING weird happens, don't add it		continue;	    }	}	setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));	chooser = new JFileChooser();	previewer = new FilePreviewer(chooser);	// Create Custom FileView	fileView = new ExampleFileView();	fileView.putIcon("jpg", new ImageIcon(getClass().getResource("/resources/images/jpgIcon.jpg")));	fileView.putIcon("gif", new ImageIcon(getClass().getResource("/resources/images/gifIcon.gif")));	// create a radio listener to listen to option changes	OptionListener optionListener = new OptionListener();	// Create options	openRadioButton = new JRadioButton("Open");	openRadioButton.setSelected(true);	openRadioButton.addActionListener(optionListener);	saveRadioButton = new JRadioButton("Save");	saveRadioButton.addActionListener(optionListener);	customButton = new JRadioButton("Custom");	customButton.addActionListener(optionListener);	customField = new JTextField(8) {	    public Dimension getMaximumSize() {		return new Dimension(getPreferredSize().width, getPreferredSize().height);	    }	};	customField.setText("Doit");	customField.setAlignmentY(JComponent.TOP_ALIGNMENT);	customField.setEnabled(false);	customField.addActionListener(optionListener);	ButtonGroup group1 = new ButtonGroup();	group1.add(openRadioButton);	group1.add(saveRadioButton);	group1.add(customButton);	// filter buttons        showAllFilesFilterCheckBox = new JCheckBox("Show \"All Files\" Filter");        showAllFilesFilterCheckBox.addActionListener(optionListener);        showAllFilesFilterCheckBox.setSelected(true);                showImageFilesFilterCheckBox = new JCheckBox("Show JPG and GIF Filters");        showImageFilesFilterCheckBox.addActionListener(optionListener);        showImageFilesFilterCheckBox.setSelected(false);        	accessoryCheckBox = new JCheckBox("Show Preview");	accessoryCheckBox.addActionListener(optionListener);	accessoryCheckBox.setSelected(false);	// more options	setHiddenCheckBox = new JCheckBox("Show Hidden Files");	setHiddenCheckBox.addActionListener(optionListener);	showFullDescriptionCheckBox = new JCheckBox("With File Extensions");	showFullDescriptionCheckBox.addActionListener(optionListener);	showFullDescriptionCheckBox.setSelected(true);        showFullDescriptionCheckBox.setEnabled(false);	useFileViewCheckBox = new JCheckBox("Use FileView");	useFileViewCheckBox.addActionListener(optionListener);	useFileViewCheckBox.setSelected(false);	useEmbedInWizardCheckBox = new JCheckBox("Embed in Wizard");	useEmbedInWizardCheckBox.addActionListener(optionListener);	useEmbedInWizardCheckBox.setSelected(false);        	useControlsCheckBox = new JCheckBox("Show Control Buttons");	useControlsCheckBox.addActionListener(optionListener);	useControlsCheckBox.setSelected(true);                enableDragCheckBox = new JCheckBox("Enable Dragging");        enableDragCheckBox.addActionListener(optionListener);	// File or Directory chooser options	ButtonGroup group3 = new ButtonGroup();	justFilesRadioButton = new JRadioButton("Just Select Files");	justFilesRadioButton.setSelected(true);	group3.add(justFilesRadioButton);	justFilesRadioButton.addActionListener(optionListener);	justDirectoriesRadioButton = new JRadioButton("Just Select Directories");	group3.add(justDirectoriesRadioButton);	justDirectoriesRadioButton.addActionListener(optionListener);	bothFilesAndDirectoriesRadioButton = new JRadioButton("Select Files or Directories");	group3.add(bothFilesAndDirectoriesRadioButton);	bothFilesAndDirectoriesRadioButton.addActionListener(optionListener);	singleSelectionRadioButton = new JRadioButton("Single Selection", true);	singleSelectionRadioButton.addActionListener(optionListener);	multiSelectionRadioButton = new JRadioButton("Multi Selection");	multiSelectionRadioButton.addActionListener(optionListener);	ButtonGroup group4 = new ButtonGroup();	group4.add(singleSelectionRadioButton);	group4.add(multiSelectionRadioButton);	// Create show button	showButton = new JButton("Show FileChooser");	showButton.addActionListener(this);        showButton.setMnemonic('s');	// Create laf combo box		lafComboBox = new JComboBox(supportedLaFs);	lafComboBox.setEditable(false);	lafComboBox.addActionListener(optionListener);	// ********************************************************	// ******************** Dialog Type ***********************	// ********************************************************	JPanel control1 = new InsetPanel(insets);	control1.setBorder(BorderFactory.createTitledBorder("Dialog Type"));	control1.setLayout(new BoxLayout(control1, BoxLayout.Y_AXIS));	control1.add(Box.createRigidArea(vpad20));	control1.add(openRadioButton);	control1.add(Box.createRigidArea(vpad7));	control1.add(saveRadioButton);	control1.add(Box.createRigidArea(vpad7));	control1.add(customButton);	control1.add(Box.createRigidArea(vpad4));        JPanel fieldWrapper = new JPanel();        fieldWrapper.setLayout(new BoxLayout(fieldWrapper, BoxLayout.X_AXIS));        fieldWrapper.setAlignmentX(Component.LEFT_ALIGNMENT);        fieldWrapper.add(Box.createRigidArea(hpad10));        fieldWrapper.add(Box.createRigidArea(hpad10));        fieldWrapper.add(customField);	control1.add(fieldWrapper);        control1.add(Box.createRigidArea(vpad20));	control1.add(Box.createGlue());	// ********************************************************	// ***************** Filter Controls **********************	// ********************************************************	JPanel control2 = new InsetPanel(insets);	control2.setBorder(BorderFactory.createTitledBorder("Filter Controls"));	control2.setLayout(new BoxLayout(control2, BoxLayout.Y_AXIS));	control2.add(Box.createRigidArea(vpad20));        control2.add(showAllFilesFilterCheckBox);	control2.add(Box.createRigidArea(vpad7));        control2.add(showImageFilesFilterCheckBox);        control2.add(Box.createRigidArea(vpad4));        JPanel checkWrapper = new JPanel();        checkWrapper.setLayout(new BoxLayout(checkWrapper, BoxLayout.X_AXIS));        checkWrapper.setAlignmentX(Component.LEFT_ALIGNMENT);        checkWrapper.add(Box.createRigidArea(hpad10));        checkWrapper.add(Box.createRigidArea(hpad10));        checkWrapper.add(showFullDescriptionCheckBox);        control2.add(checkWrapper);	control2.add(Box.createRigidArea(vpad20));	control2.add(Box.createGlue());	// ********************************************************	// ****************** Display Options *********************	// ********************************************************	JPanel control3 = new InsetPanel(insets);	control3.setBorder(BorderFactory.createTitledBorder("Display Options"));	control3.setLayout(new BoxLayout(control3, BoxLayout.Y_AXIS));	control3.add(Box.createRigidArea(vpad20));	control3.add(setHiddenCheckBox);	control3.add(Box.createRigidArea(vpad7));	control3.add(useFileViewCheckBox);	control3.add(Box.createRigidArea(vpad7));	control3.add(accessoryCheckBox);	control3.add(Box.createRigidArea(vpad7));	control3.add(useEmbedInWizardCheckBox);	control3.add(Box.createRigidArea(vpad7));	control3.add(useControlsCheckBox);        control3.add(Box.createRigidArea(vpad7));        control3.add(enableDragCheckBox);	control3.add(Box.createRigidArea(vpad20));	control3.add(Box.createGlue());	// ********************************************************	// ************* File & Directory Options *****************	// ********************************************************	JPanel control4 = new InsetPanel(insets);	control4.setBorder(BorderFactory.createTitledBorder("File and Directory Options"));	control4.setLayout(new BoxLayout(control4, BoxLayout.Y_AXIS));	control4.add(Box.createRigidArea(vpad20));	control4.add(justFilesRadioButton);	control4.add(Box.createRigidArea(vpad7));	control4.add(justDirectoriesRadioButton);	control4.add(Box.createRigidArea(vpad7));	control4.add(bothFilesAndDirectoriesRadioButton);	control4.add(Box.createRigidArea(vpad20));	control4.add(singleSelectionRadioButton);	control4.add(Box.createRigidArea(vpad7));	control4.add(multiSelectionRadioButton);	control4.add(Box.createRigidArea(vpad20));	control4.add(Box.createGlue());	// ********************************************************	// **************** Look & Feel Switch ********************	// ********************************************************	JPanel panel = new JPanel();	panel.add(new JLabel("Look and Feel: "));	panel.add(lafComboBox);	panel.add(showButton);	// ********************************************************	// ****************** Wrap 'em all up *********************	// ********************************************************	JPanel wrapper = new JPanel();	wrapper.setLayout(new BoxLayout(wrapper, BoxLayout.X_AXIS));	add(Box.createRigidArea(vpad20));	wrapper.add(Box.createRigidArea(hpad10));        wrapper.add(Box.createRigidArea(hpad10));	wrapper.add(control1);	wrapper.add(Box.createRigidArea(hpad10));	wrapper.add(control2);	wrapper.add(Box.createRigidArea(hpad10));	wrapper.add(control3);	wrapper.add(Box.createRigidArea(hpad10));	wrapper.add(control4);	wrapper.add(Box.createRigidArea(hpad10));        wrapper.add(Box.createRigidArea(hpad10));	add(wrapper);	add(Box.createRigidArea(vpad20));	add(panel);	add(Box.createRigidArea(vpad20));    }    public void actionPerformed(ActionEvent e) {        if (customButton.isSelected()) {            chooser.setApproveButtonText(customField.getText());            }        	if (chooser.isMultiSelectionEnabled()) {	    chooser.setSelectedFiles(null);	} else {	    chooser.setSelectedFile(null);	}        // clear the preview from the previous display of the chooser        JComponent accessory = chooser.getAccessory();        if (accessory != null) {            ((FilePreviewer)accessory).loadImage(null);        }	if (useEmbedInWizardCheckBox.isSelected()) {	    WizardDialog wizard = new WizardDialog(frame, true);	    wizard.setVisible(true);	    wizard.dispose();	    return;	}

⌨️ 快捷键说明

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