1 19 20 package org.netbeans.modules.j2ee.samples; 21 22 import java.awt.Component ; 23 import java.util.HashSet ; 24 import java.util.Iterator ; 25 import java.util.Set ; 26 import javax.swing.JComponent ; 27 import javax.swing.event.ChangeEvent ; 28 import javax.swing.event.ChangeListener ; 29 import org.openide.WizardDescriptor; 30 import org.openide.WizardValidationException; 31 import org.openide.util.HelpCtx; 32 import org.openide.util.NbBundle; 33 34 37 public class JavaEESamplesWizardPanel implements WizardDescriptor.Panel, 38 WizardDescriptor.ValidatingPanel, WizardDescriptor.FinishablePanel { 39 40 private WizardDescriptor wizardDescriptor; 41 private JavaEESamplesPanelVisual component; 42 private final boolean withDB; 43 44 45 public JavaEESamplesWizardPanel(boolean withDB) { 46 this.withDB = withDB; 47 } 48 49 public Component getComponent() { 50 if (component == null) { 51 component = new JavaEESamplesPanelVisual(this, withDB); 52 component.setName(NbBundle.getMessage(JavaEESamplesWizardPanel.class, "LBL_CreateProjectStep")); 53 component.putClientProperty("NewProjectWizard_Title", NbBundle.getMessage(JavaEESamplesWizardPanel.class, "LBL_TXT_NewJ2EESample")); 54 } 55 return component; 56 } 57 58 public HelpCtx getHelp() { 59 return new HelpCtx(JavaEESamplesWizardPanel.class); 60 } 61 62 public boolean isValid() { 63 getComponent(); 64 return component.valid(wizardDescriptor); 65 } 66 67 private final Set <ChangeListener > 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 101 public void storeSettings(Object settings) { 102 WizardDescriptor d = (WizardDescriptor) settings; 103 component.store(d); 104 d.putProperty("NewProjectWizard_Title", null); } 106 107 public boolean isFinishPanel() { 108 return true; 109 } 110 111 public void validate() throws WizardValidationException { 112 getComponent(); 113 component.validate(wizardDescriptor); 114 } 115 116 } 117 | Popular Tags |