|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.java.j2seproject.ui.wizards; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.text.MessageFormat; import java.util.StringTokenizer; import javax.swing.event.DocumentListener; import javax.swing.event.DocumentEvent; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.WizardDescriptor; import org.openide.util.NbBundle; /** * * @author phrebejk */ public class PanelOptionsVisual extends SettingsPanel implements ActionListener, PropertyChangeListener { private static boolean lastMainClassCheck = true; // XXX Store somewhere private PanelConfigureProject panel; private boolean valid; /** Creates new form PanelOptionsVisual */ public PanelOptionsVisual( PanelConfigureProject panel, int type ) { initComponents(); this.panel = panel; switch (type) { case NewJ2SEProjectWizardIterator.TYPE_LIB: setAsMainCheckBox.setVisible( false ); createMainCheckBox.setVisible( false ); mainClassTextField.setVisible( false ); break; case NewJ2SEProjectWizardIterator.TYPE_APP: createMainCheckBox.addActionListener( this ); createMainCheckBox.setSelected( lastMainClassCheck ); mainClassTextField.setEnabled( lastMainClassCheck ); break; case NewJ2SEProjectWizardIterator.TYPE_EXT: setAsMainCheckBox.setVisible( true ); createMainCheckBox.setVisible( false ); mainClassTextField.setVisible( false ); break; } this.mainClassTextField.getDocument().addDocumentListener( new DocumentListener () { public void insertUpdate(DocumentEvent e) { mainClassChanged (); } public void removeUpdate(DocumentEvent e) { mainClassChanged (); } public void changedUpdate(DocumentEvent e) { mainClassChanged (); } }); } public void actionPerformed( ActionEvent e ) { if ( e.getSource() == createMainCheckBox ) { lastMainClassCheck = createMainCheckBox.isSelected(); mainClassTextField.setEnabled( lastMainClassCheck ); this.panel.fireChangeEvent(); } } public void propertyChange (PropertyChangeEvent event) { if (PanelProjectLocationVisual.PROP_PROJECT_NAME.equals(event.getPropertyName())) { String newProjectName = NewJ2SEProjectWizardIterator.getPackageName((String) event.getNewValue()); this.mainClassTextField.setText (MessageFormat.format( NbBundle.getMessage (PanelOptionsVisual.class,"TXT_ClassName"), new Object[] {newProjectName} )); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents java.awt.GridBagConstraints gridBagConstraints; setAsMainCheckBox = new javax.swing.JCheckBox(); createMainCheckBox = new javax.swing.JCheckBox(); mainClassTextField = new javax.swing.JTextField(); jPanel1 = new javax.swing.JPanel(); setLayout(new java.awt.GridBagLayout()); getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(PanelOptionsVisual.class, "ACSN_PanelOptionsVisual")); getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PanelOptionsVisual.class, "ACSD_PanelOptionsVisual")); setAsMainCheckBox.setSelected(true); org.openide.awt.Mnemonics.setLocalizedText(setAsMainCheckBox, java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("LBL_setAsMainCheckBox")); setAsMainCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); add(setAsMainCheckBox, gridBagConstraints); setAsMainCheckBox.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ACSN_setAsMainCheckBox")); setAsMainCheckBox.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ACSD_setAsMainCheckBox")); createMainCheckBox.setSelected(true); org.openide.awt.Mnemonics.setLocalizedText(createMainCheckBox, java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("LBL_createMainCheckBox")); createMainCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0); add(createMainCheckBox, gridBagConstraints); createMainCheckBox.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ACSN_createMainCheckBox")); createMainCheckBox.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ACSD_createMainCheckBox")); mainClassTextField.setText("com.myapp.Main"); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 0); add(mainClassTextField, gridBagConstraints); mainClassTextField.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ASCN_mainClassTextFiled")); mainClassTextField.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ASCD_mainClassTextFiled")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; add(jPanel1, gridBagConstraints); jPanel1.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ACSN_jPanel1")); jPanel1.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/java/j2seproject/ui/wizards/Bundle").getString("ASCD_jPanel1")); }//GEN-END:initComponents boolean valid(WizardDescriptor settings) { if (mainClassTextField.isVisible () && mainClassTextField.isEnabled ()) { if (!valid) { settings.putProperty( "WizardPanel_errorMessage", // NOI18N NbBundle.getMessage(PanelOptionsVisual.class,"ERROR_IllegalMainClassName")); //NOI18N } return this.valid; } else { return true; } } void read (WizardDescriptor d) { //TODO: } void store( WizardDescriptor d ) { d.putProperty( /*XXX Define somewhere */ "setAsMain", setAsMainCheckBox.isSelected() && setAsMainCheckBox.isVisible() ? Boolean.TRUE : Boolean.FALSE ); // NOI18N d.putProperty( /*XXX Define somewhere */ "mainClass", createMainCheckBox.isSelected() && createMainCheckBox.isVisible() ? mainClassTextField.getText() : null ); // NOI18N } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JCheckBox createMainCheckBox; private javax.swing.JPanel jPanel1; private javax.swing.JTextField mainClassTextField; private javax.swing.JCheckBox setAsMainCheckBox; // End of variables declaration//GEN-END:variables private void mainClassChanged () { String mainClassName = this.mainClassTextField.getText (); StringTokenizer tk = new StringTokenizer (mainClassName, "."); //NOI18N boolean valid = true; out: while (tk.hasMoreTokens()) { String token = tk.nextToken(); if (token.length() == 0) { valid = false; break out; } for (int i=0; i< token.length();i++) { if ((i == 0 && !Character.isJavaIdentifierStart(token.charAt(0))) || (i != 0 && !Character.isJavaIdentifierPart(token.charAt(i)))) { valid = false; break out; } } } this.valid = valid; this.panel.fireChangeEvent(); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.