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

📄 filechooserpage.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
package net.sourceforge.ganttproject.export;import java.awt.BorderLayout;import java.awt.Component;import java.io.File;import javax.swing.Box;import javax.swing.JCheckBox;import javax.swing.JComponent;import javax.swing.JPanel;import javax.swing.SpringLayout;import javax.swing.filechooser.FileFilter;import net.sourceforge.ganttproject.IGanttProject;import net.sourceforge.ganttproject.document.Document;import net.sourceforge.ganttproject.export.ExportFileWizardImpl.State;import net.sourceforge.ganttproject.filter.ExtensionBasedFileFilter;import net.sourceforge.ganttproject.gui.FileChooserPageBase;import net.sourceforge.ganttproject.gui.TextFieldAndFileChooserComponent;import net.sourceforge.ganttproject.gui.options.OptionsPageBuilder;import net.sourceforge.ganttproject.gui.options.SpringUtilities;import net.sourceforge.ganttproject.gui.options.model.GPOption;import net.sourceforge.ganttproject.gui.options.model.GPOptionGroup;import net.sourceforge.ganttproject.gui.projectwizard.WizardPage;import net.sourceforge.ganttproject.language.GanttLanguage;class FileChooserPage extends FileChooserPageBase {    private State myState;    //private TextFieldAndFileChooserComponent myChooser;    private IGanttProject myProject;    //private JPanel myComponent;    //private JComponent mySecondaryOptionsComponent;        //private OptionsPageBuilder myOptionsBuilder;	private GPOptionGroup myWebPublishingGroup;        FileChooserPage(State state, IGanttProject project) {        myState = state;        myProject = project;        myWebPublishingGroup = new GPOptionGroup("exporter.webPublishing", new GPOption[]{state.getPublishInWebOption()});        myWebPublishingGroup.setTitled(false);        //myOptionsBuilder = new OptionsPageBuilder();    }    protected String getFileChooserTitle() {        return GanttLanguage.getInstance().getText("selectFileToExport");    }    public String getTitle() {        return GanttLanguage.getInstance().getText("selectFileToExport");    }    protected void onFileChosen(File file) {        String proposedExtension = myState.getExporter()                .proposeFileExtension();        if(proposedExtension != null) {	        if (false == file.getName().toLowerCase().endsWith(	                proposedExtension)) {	            file = new File(file.getAbsolutePath() + "."	                    + proposedExtension);	        }        }        myState.setFile(file);    }        public void setActive(boolean b) {        if (b == false) {            myState.setFile(getSelectedFile());            super.setActive(b);        } else {        	super.setActive(b);            File proposedFile = proposeOutputFile(myProject);            if (proposedFile == null) {                setSelectedFile(myState.getFile());                return;            }            if (false == proposedFile.equals(getSelectedFile())) {                setSelectedFile(proposedFile);                myState.setFile(proposedFile);            }        }    }    public File proposeOutputFile(IGanttProject project) {        return proposeOutputFile(project, myState.getExporter());    }        static File proposeOutputFile(IGanttProject project, Exporter exporter) {        String proposedExtension = exporter.proposeFileExtension();        if (proposedExtension == null) {            return null;        }        File userHome = new File(System.getProperty("user.home"));        File result = new File(userHome, project.getProjectName() + "."                + proposedExtension);        Document projectDocument = project.getDocument();        if (projectDocument != null) {            File localFile = new File(projectDocument.getFilePath());            if (localFile.exists()) {                String name = localFile.getAbsolutePath();                int lastDot = name.lastIndexOf('.');                name = name.substring(0, lastDot) + "." + proposedExtension;                result = new File(name);            } else {                File directory = localFile.getParentFile();                if (directory.exists()) {                    result = new File(directory, project.getProjectName() + "."                            + proposedExtension);                }            }        }        return result;            }	protected FileFilter createFileFilter() {		return new ExtensionBasedFileFilter(                myState.getExporter().getFileNamePattern(), myState.getExporter()                        .getFileTypeDescription());	}	protected GPOptionGroup[] getOptionGroups() {		GPOptionGroup[] exporterOptions = null;		if (myState.getExporter()!=null) {			exporterOptions = myState.getExporter().getSecondaryOptions();		}		if (exporterOptions==null) {			return new GPOptionGroup[] {myWebPublishingGroup};					}		GPOptionGroup[] result = new GPOptionGroup[exporterOptions.length+1];		result[0] = myWebPublishingGroup;		System.arraycopy(exporterOptions, 0, result, 1, exporterOptions.length);		return result;	}}

⌨️ 快捷键说明

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