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

📄 textfieldandfilechoosercomponent.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
/* * Created on 01.05.2005 */package net.sourceforge.ganttproject.gui;import java.awt.Component;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import javax.swing.Box;import javax.swing.ImageIcon;import javax.swing.JFileChooser;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.filechooser.FileFilter;import net.sourceforge.ganttproject.language.GanttLanguage;/** * @author bard */public class TextFieldAndFileChooserComponent {    private TestGanttRolloverButton myChooserButton;    private JTextField myTextField;    private File myFile;    private FileFilter myFileFilter;    private String myDialogCaption;    private Component myComponent;    private Component myParentComponent;    private int myFileSelectionMode = JFileChooser.FILES_AND_DIRECTORIES;    public TextFieldAndFileChooserComponent(final Component parentComponent,            String dialogCaption) {        myDialogCaption = dialogCaption;        myParentComponent = parentComponent;        initComponents();    }    public TextFieldAndFileChooserComponent(String label, String dialogCaption) {        Box innerBox = Box.createHorizontalBox();        innerBox.add(new JLabel(label));        innerBox.add(Box.createHorizontalStrut(2));        myParentComponent = innerBox;        myDialogCaption = dialogCaption;        initComponents();        innerBox.add(myComponent);        myComponent = innerBox;    }    private void initComponents() {        myChooserButton = new TestGanttRolloverButton(new ImageIcon(getClass()                .getResource("/icons/open_16.gif")));        myTextField = new JTextField();        myTextField.setColumns(40);        myTextField.setEditable(false);        Box box = Box.createHorizontalBox();        box.add(myTextField);        box.add(myChooserButton);        myComponent = box;        myChooserButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                showFileChooser();            }        });    }    public Component getComponent() {        return myComponent;    }    public File getFile() {        return myFile;    }    public void setFile(File file) {        myFile = file;        myTextField.setText(file == null ? "" : file.getAbsolutePath());     }    public void setFileFilter(FileFilter filter) {        myFileFilter = filter;    }    public void showFileChooser() {        System.out.println(myTextField.getText());        JFileChooser fc = new JFileChooser(new File(myTextField.getText()));        fc.setDialogTitle(myDialogCaption);        fc.setApproveButtonToolTipText(myDialogCaption);        fc.setFileSelectionMode(myFileSelectionMode);        // Remove the possibility to use a file filter for all files        FileFilter[] filefilters = fc.getChoosableFileFilters();        for (int i = 0; i < filefilters.length; i++) {            fc.removeChoosableFileFilter(filefilters[i]);        }        fc.addChoosableFileFilter(myFileFilter);        int returnVal = fc.showDialog(myParentComponent, GanttLanguage                .getInstance().getText("ok"));        if (returnVal == JFileChooser.APPROVE_OPTION) {            onFileChosen(fc.getSelectedFile());        }    }    protected void onFileChosen(File file) {        myFile = file;        myTextField.setText(myFile.getAbsolutePath());    }    public void setFileSelectionMode(int mode) {        myFileSelectionMode = mode;    }}

⌨️ 快捷键说明

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