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