filechooserpaneldescriptor.java

来自「world wind java sdk 源码」· Java 代码 · 共 86 行

JAVA
86
字号
/* Copyright (C) 2001, 2007 United States Government as represented by
the Administrator of the National Aeronautics and Space Administration.
All Rights Reserved.
*/
package gov.nasa.worldwind.layers.rpf.wizard;

import gov.nasa.worldwind.util.wizard.DefaultPanelDescriptor;
import gov.nasa.worldwind.util.wizard.Wizard;
import gov.nasa.worldwind.util.wizard.WizardModel;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;

/**
 * @author dcollins
 * @version $Id: FileChooserPanelDescriptor.java 4857 2008-03-29 01:11:08Z dcollins $
 */
public class FileChooserPanelDescriptor extends DefaultPanelDescriptor
{
    private FileChooserPanel panelComponent;
    public static final String IDENTIFIER = "gov.nasa.worldwind.rpf.wizard.FileChooserPanel";

    public FileChooserPanelDescriptor()
    {
        this.panelComponent = new FileChooserPanel();
        this.panelComponent.addPropertyChangeListener(new PropertyEvents());
        setPanelIdentifier(IDENTIFIER);
        setPanelComponent(this.panelComponent);
    }

    public Object getBackPanelDescriptor()
    {
        return null;
    }

    public Object getNextPanelDescriptor()
    {
        Object nextDescriptor;
        if (!RPFWizardUtil.isFileListCurrent(getWizardModel()))
            nextDescriptor = FileSearchPanelDescriptor.IDENTIFIER;
        else
            nextDescriptor = DataChooserPanelDescriptor.IDENTIFIER;
        return nextDescriptor;
    }

    public void aboutToDisplayPanel()
    {
        this.panelComponent.setTitle(RPFWizardUtil.makeLarger("Choose Folder to Search"));
        this.panelComponent.setDescription("<html><br>Folder to search...</html>");
        setNextButtonAccordingToSelectedFile();
    }

    private void setNextButtonAccordingToSelectedFile()
    {
        Wizard wizard = getWizard();
        if (wizard != null)
        {
            File file = RPFWizardUtil.getSelectedFile(wizard.getModel());
            wizard.setNextButtonEnabled(file != null && file.exists());
            wizard.giveFocusToNextButton();
        }
    }

    private void selectedFileChanged(Object newValue)
    {
        WizardModel model = getWizardModel();
        if (model != null && newValue != null && newValue instanceof File)
        {
            RPFWizardUtil.setSelectedFile(model, (File) newValue);
        }
        setNextButtonAccordingToSelectedFile();
    }

    private class PropertyEvents implements PropertyChangeListener {
        public void propertyChange(PropertyChangeEvent evt) {
            if (evt != null && evt.getPropertyName() != null) {
                String propertyName = evt.getPropertyName();
                if (propertyName.equals("selectedFile")) {
                    selectedFileChanged(evt.getNewValue());           
                }
            }
        }
    }
}

⌨️ 快捷键说明

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