1 19 20 package org.netbeans.modules.j2ee.persistence.wizard.library; 21 22 import java.awt.Dialog ; 23 import java.beans.PropertyChangeEvent ; 24 import java.beans.PropertyChangeListener ; 25 import org.netbeans.spi.project.libraries.LibraryImplementation; 26 import org.netbeans.spi.project.libraries.support.LibrariesSupport; 27 import org.openide.DialogDescriptor; 28 import org.openide.DialogDisplayer; 29 import org.openide.util.NbBundle; 30 31 35 public class PersistenceLibraryCustomizer { 36 37 private PersistenceLibraryCustomizer() { 38 } 39 40 public static boolean showCustomizer() { 41 LibraryImplementation libImpl = LibrariesSupport.createLibraryImplementation(PersistenceLibrarySupport.LIBRARY_TYPE, PersistenceLibrarySupport.VOLUME_TYPES); 42 PersistenceLibraryPanel customizer = new PersistenceLibraryPanel(libImpl); 43 final DialogDescriptor descriptor = new DialogDescriptor(customizer,NbBundle.getMessage(PersistenceLibraryCustomizer.class, "TXT_PersistenceLibrariesManager")); 44 customizer.addPropertyChangeListener(new PropertyChangeListener () { 45 public void propertyChange(PropertyChangeEvent evt) { 46 if (evt.getPropertyName().equals(PersistenceLibraryPanel.IS_VALID)) { 47 Object newvalue = evt.getNewValue(); 48 if ((newvalue != null) && (newvalue instanceof Boolean )) { 49 descriptor.setValid(((Boolean )newvalue).booleanValue()); 50 } 51 } 52 } 53 }); 54 customizer.checkValidity(); 55 Dialog dlg = null; 56 try { 57 dlg = DialogDisplayer.getDefault().createDialog(descriptor); 58 dlg.setVisible(true); 59 if (descriptor.getValue() == DialogDescriptor.OK_OPTION) { 60 customizer.apply(); 61 return true; 62 } 63 } finally { 64 if (dlg != null) { 65 dlg.dispose(); 66 } 67 } 68 return false; 69 } 70 71 } 72 | Popular Tags |