1 19 20 package org.netbeans.modules.j2ee.archive.customizer; 21 22 import java.awt.Dialog ; 23 import java.awt.event.ActionEvent ; 24 import java.awt.event.ActionListener ; 25 import java.io.IOException ; 26 27 import javax.swing.JButton ; 28 import org.netbeans.modules.j2ee.archive.project.ArchiveProject; 29 import org.netbeans.modules.j2ee.archive.project.ArchiveProjectProperties; 30 31 import org.openide.DialogDescriptor; 32 import org.openide.DialogDisplayer; 33 import org.openide.ErrorManager; 34 import org.openide.util.NbBundle; 35 36 import org.netbeans.api.project.Project; 37 import org.netbeans.api.project.ProjectManager; 38 import org.netbeans.api.project.ProjectUtils; 39 40 import org.netbeans.spi.project.support.ant.AntProjectHelper; 41 import org.netbeans.spi.project.ui.CustomizerProvider; 42 43 44 48 public class ProvidesCustomizer implements CustomizerProvider { 49 50 private final Project project; 51 private final AntProjectHelper antProjectHelper; 52 53 private static final int OPTION_OK = 0; 55 private static final int OPTION_CANCEL = OPTION_OK + 1; 56 57 private static final String COMMAND_OK = "OK"; private static final String COMMAND_CANCEL = "CANCEL"; 61 public ProvidesCustomizer(Project project, AntProjectHelper antProjectHelper) { 62 this.project = project; 63 this.antProjectHelper = antProjectHelper; 64 } 65 66 public void showCustomizer() { 67 Dialog dialog = createDialog(); 68 dialog.setVisible(true); 69 } 70 71 Dialog createDialog() { 72 JButton options[] = new JButton [] { 74 new JButton ( NbBundle.getMessage( ProvidesCustomizer.class, "LBL_Customizer_Ok_Option") ), new JButton ( NbBundle.getMessage( ProvidesCustomizer.class, "LBL_Customizer_Cancel_Option" ) ) , }; 77 78 options[ OPTION_OK ].setActionCommand( COMMAND_OK ); 80 options[ OPTION_CANCEL ].setActionCommand( COMMAND_CANCEL ); 81 82 ArchiveProjectProperties apProperties = new ArchiveProjectProperties( (ArchiveProject)project, antProjectHelper ); 84 ActionListener optionsListener = new OptionListener( project, apProperties ); 85 options[ OPTION_OK ].addActionListener( optionsListener ); 86 options[ OPTION_CANCEL ].addActionListener( optionsListener ); 87 88 89 ArchiveProjectCustomizer innerPane = new ArchiveProjectCustomizer(apProperties); DialogDescriptor dialogDescriptor = new DialogDescriptor( 91 innerPane, NbBundle.getMessage( ProvidesCustomizer.class, "LBL_Customizer_Title" , ProjectUtils.getInformation(project).getDisplayName() ), 94 false, options, options[OPTION_OK], DialogDescriptor.BOTTOM_ALIGN, null, null ); 101 innerPane.setDialogDescriptor(dialogDescriptor); 102 dialogDescriptor.setClosingOptions( new Object [] { options[ OPTION_OK ], options[ OPTION_CANCEL ] } ); 103 104 Dialog dialog = DialogDisplayer.getDefault().createDialog( dialogDescriptor ); 105 return dialog; } 107 108 109 private static class OptionListener implements ActionListener { 110 111 private Project project; 112 private ArchiveProjectProperties apProperties; 113 114 OptionListener( Project project, ArchiveProjectProperties apProperties ) { 115 this.project = project; 116 this.apProperties = apProperties; 117 } 118 119 public void actionPerformed( ActionEvent e ) { 120 String command = e.getActionCommand(); 121 122 if (COMMAND_OK.equals(command)) { 123 apProperties.save(); 125 126 try { 129 ProjectManager.getDefault().saveProject(project); 130 } catch ( IOException ex ) { 131 ErrorManager.getDefault().notify( ex ); 132 } 133 } 134 135 } 136 137 } 138 139 } 140 | Popular Tags |