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

📄 filechooserpagebase.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
package net.sourceforge.ganttproject.gui;import java.awt.BorderLayout;import java.awt.Component;import java.io.File;import javax.swing.JComponent;import javax.swing.JPanel;import javax.swing.SpringLayout;import javax.swing.filechooser.FileFilter;import net.sourceforge.ganttproject.gui.options.OptionsPageBuilder;import net.sourceforge.ganttproject.gui.options.SpringUtilities;import net.sourceforge.ganttproject.gui.options.model.GPOptionGroup;import net.sourceforge.ganttproject.gui.projectwizard.WizardPage;import net.sourceforge.ganttproject.language.GanttLanguage;public abstract class FileChooserPageBase implements WizardPage {    private JPanel myComponent;	private TextFieldAndFileChooserComponent myChooser;	private OptionsPageBuilder myOptionsBuilder;	private JPanel mySecondaryOptionsComponent;		protected FileChooserPageBase() {		myOptionsBuilder = new OptionsPageBuilder();        mySecondaryOptionsComponent = new JPanel(new BorderLayout()); 	}        protected abstract String getFileChooserTitle();    	public Component getComponent() {        myComponent = new JPanel(new BorderLayout());        myChooser = new TextFieldAndFileChooserComponent(GanttLanguage.getInstance().getText("file")+":",        		getFileChooserTitle()) {            protected void onFileChosen(File file) {            	FileChooserPageBase.this.onFileChosen(file);            	super.onFileChosen(file);            }        };        JComponent contentPanel = new JPanel(new BorderLayout());        contentPanel.add(myChooser.getComponent(), BorderLayout.NORTH);        contentPanel.add(mySecondaryOptionsComponent, BorderLayout.CENTER);//        SpringUtilities.makeCompactGrid(contentPanel, 2, 1,//                0, 0, 5, 5);        myComponent.add(contentPanel, BorderLayout.NORTH);        return myComponent;    }    public void setActive(boolean b) {    	GPOptionGroup[] optionGroups = getOptionGroups();        if (b == false) {        	for (int i=0; i<optionGroups.length; i++) {        		optionGroups[i].commit();        	}        } else {        	for (int i=0; i<optionGroups.length; i++) {        		optionGroups[i].lock();        	}        	if (mySecondaryOptionsComponent!=null){                mySecondaryOptionsComponent.removeAll();            }        	        	//mySecondaryOptionsComponent= new JPanel(new BorderLayout());            mySecondaryOptionsComponent.add(myOptionsBuilder.buildPlanePage(optionGroups), BorderLayout.NORTH);             //myComponent.add(mySecondaryOptionsComponent, BorderLayout.CENTER);            mySecondaryOptionsComponent.invalidate();            myComponent.invalidate();            myChooser.setFileFilter(createFileFilter());        }    }    	protected void setSelectedFile(File file) {		myChooser.setFile(file);	}	protected File getSelectedFile() {		return myChooser.getFile();	}		protected void setOptionsEnabled(boolean enabled) {		if (mySecondaryOptionsComponent!=null) {			setEnabledTree(mySecondaryOptionsComponent, enabled);		}	}	    private void setEnabledTree(JComponent root, boolean isEnabled) {        root.setEnabled(isEnabled);        Component[] components = root.getComponents();        for (int i = 0; i < components.length; i++) {            if (components[i] instanceof JComponent) {                setEnabledTree((JComponent) components[i], isEnabled);            }        }    }	    	protected abstract FileFilter createFileFilter();	protected abstract GPOptionGroup[] getOptionGroups();	protected abstract void onFileChosen(File file);}

⌨️ 快捷键说明

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