1 19 20 package org.netbeans.modules.web.examples; 21 22 import java.awt.Component ; 23 import java.util.HashSet ; 24 import java.util.Iterator ; 25 import java.util.Set ; 26 27 import javax.swing.JComponent ; 28 import javax.swing.event.ChangeEvent ; 29 import javax.swing.event.ChangeListener ; 30 31 import org.openide.WizardDescriptor; 32 import org.openide.util.HelpCtx; 33 34 38 final class PanelConfigureProject implements WizardDescriptor.Panel, WizardDescriptor.FinishablePanel { 39 40 private WizardDescriptor wizardDescriptor; 41 private PanelConfigureProjectVisual component; 42 43 44 public PanelConfigureProject() { 45 } 46 47 public boolean isFinishPanel() { 48 return true; 49 } 50 51 public Component getComponent() { 52 if (component == null) { 53 component = new PanelConfigureProjectVisual(this); 54 } 55 return component; 56 } 57 58 public HelpCtx getHelp() { 59 return HelpCtx.DEFAULT_HELP; 60 } 61 62 public boolean isValid() { 63 getComponent(); 64 return component.valid(wizardDescriptor); 65 } 66 67 private final Set listeners = new HashSet (1); 68 public final void addChangeListener(ChangeListener l) { 69 synchronized (listeners) { 70 listeners.add(l); 71 } 72 } 73 public final void removeChangeListener(ChangeListener l) { 74 synchronized (listeners) { 75 listeners.remove(l); 76 } 77 } 78 protected final void fireChangeEvent() { 79 Iterator it; 80 synchronized (listeners) { 81 it = new HashSet (listeners).iterator(); 82 } 83 ChangeEvent ev = new ChangeEvent (this); 84 while (it.hasNext()) { 85 ((ChangeListener )it.next()).stateChanged(ev); 86 } 87 } 88 89 public void readSettings(Object settings) { 90 wizardDescriptor = (WizardDescriptor) settings; 91 component.read (wizardDescriptor); 92 93 Object substitute = ((JComponent ) component).getClientProperty("NewProjectWizard_Title"); if (substitute != null) 97 wizardDescriptor.putProperty("NewProjectWizard_Title", substitute); } 99 100 public void storeSettings(Object settings) { 101 WizardDescriptor d = (WizardDescriptor) settings; 102 component.store(d); 103 ((WizardDescriptor) d).putProperty("NewProjectWizard_Title", null); } 105 106 } 107 | Popular Tags |