1 6 7 package SOFA.SOFAnet.Browser; 8 9 import SOFA.SOFAnet.Repository.NodeNameLicList; 10 import SOFA.SOFAnet.Repository.Licence; 11 import javax.swing.*; 12 import java.awt.Component ; 13 import java.awt.Frame ; 14 15 19 public class NewNodeNameLicDialog extends javax.swing.JDialog 20 { 21 private NodeNameLicList.NodeLicPair nodeLicPair; 22 23 public static NodeNameLicList.NodeLicPair showDialog(Component frameComp) 24 { 25 Frame frame = JOptionPane.getFrameForComponent(frameComp); 26 NewNodeNameLicDialog dialog = new NewNodeNameLicDialog(frame, true); 27 dialog.setLocationRelativeTo(frameComp); 28 dialog.setVisible(true); 29 return dialog.getNodeLicPair(); 30 } 31 32 33 public NewNodeNameLicDialog(java.awt.Frame parent, boolean modal) 34 { 35 super(parent, modal); 36 nodeLicPair = null; 37 initComponents(); 38 } 39 40 NodeNameLicList.NodeLicPair getNodeLicPair() 41 { 42 return nodeLicPair; 43 } 44 45 50 private void initComponents() { 52 jPanel1 = new javax.swing.JPanel (); 53 nameLabel = new javax.swing.JLabel (); 54 nameTextField = new javax.swing.JTextField (); 55 numberOfLicencesPanel = new javax.swing.JPanel (); 56 numberOfLicencesCheckBox = new javax.swing.JCheckBox (); 57 numberOfLicencesTextField = new javax.swing.JTextField (); 58 numberOfLicencesLabel = new javax.swing.JLabel (); 59 jPanel2 = new javax.swing.JPanel (); 60 OKButton = new javax.swing.JButton (); 61 cancelButton = new javax.swing.JButton (); 62 63 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 64 setTitle("New Node Name (with Licence)"); 65 jPanel1.setLayout(new java.awt.GridLayout (3, 0)); 66 67 jPanel1.setBorder(new javax.swing.border.EmptyBorder (new java.awt.Insets (5, 5, 5, 5))); 68 nameLabel.setText("Name of Node:"); 69 jPanel1.add(nameLabel); 70 71 jPanel1.add(nameTextField); 72 73 numberOfLicencesPanel.setLayout(new javax.swing.BoxLayout (numberOfLicencesPanel, javax.swing.BoxLayout.X_AXIS)); 74 75 numberOfLicencesCheckBox.setText("Number of Licences"); 76 numberOfLicencesCheckBox.addActionListener(new java.awt.event.ActionListener () 77 { 78 public void actionPerformed(java.awt.event.ActionEvent evt) 79 { 80 numberOfLicencesCheckBoxActionPerformed(evt); 81 } 82 }); 83 84 numberOfLicencesPanel.add(numberOfLicencesCheckBox); 85 86 numberOfLicencesTextField.setEnabled(false); 87 numberOfLicencesPanel.add(numberOfLicencesTextField); 88 89 numberOfLicencesLabel.setText("(use '*' or 'all' for all licences)"); 90 numberOfLicencesLabel.setEnabled(false); 91 numberOfLicencesPanel.add(numberOfLicencesLabel); 92 93 jPanel1.add(numberOfLicencesPanel); 94 95 getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH); 96 97 jPanel2.setPreferredSize(new java.awt.Dimension (350, 35)); 98 OKButton.setText("OK"); 99 OKButton.addActionListener(new java.awt.event.ActionListener () 100 { 101 public void actionPerformed(java.awt.event.ActionEvent evt) 102 { 103 OKButtonActionPerformed(evt); 104 } 105 }); 106 107 jPanel2.add(OKButton); 108 109 cancelButton.setText("Cancel"); 110 cancelButton.addActionListener(new java.awt.event.ActionListener () 111 { 112 public void actionPerformed(java.awt.event.ActionEvent evt) 113 { 114 cancelButtonActionPerformed(evt); 115 } 116 }); 117 118 jPanel2.add(cancelButton); 119 120 getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH); 121 122 pack(); 123 } 125 private void OKButtonActionPerformed(java.awt.event.ActionEvent evt) { boolean numberOfLicencesSelected = numberOfLicencesCheckBox.isSelected(); 128 String numberOfLicencesText = numberOfLicencesTextField.getText().trim().toLowerCase(); 129 String nodeName = nameTextField.getText().trim(); 130 131 if (nodeName.length() == 0) 132 { 133 JOptionPane.showMessageDialog(this, "Empty Node Name", "Error", JOptionPane.ERROR_MESSAGE); 134 return; 135 } 136 137 int numberOfLicences = Licence.ONE_IMPLICIT_LICENCE; 138 if (numberOfLicencesSelected && numberOfLicencesText.length() != 0) 139 { 140 if (numberOfLicencesText.compareTo("*") == 0 || numberOfLicencesText.compareTo("all") == 0) numberOfLicences = Licence.ALL_LICENCES; 141 else 142 { 143 try 144 { 145 numberOfLicences = Integer.parseInt(numberOfLicencesText); 146 if (numberOfLicences < 0) throw new NumberFormatException ("Negative 'Number of Licences' is not allowed"); 147 } 148 catch (NumberFormatException e) 149 { 150 JOptionPane.showMessageDialog(this, "Error occured while parsing 'Number of Licences':\n" + e, "Error", JOptionPane.ERROR_MESSAGE); 151 return; 152 } 153 } 154 } 155 156 nodeLicPair = new NodeNameLicList.NodeLicPair(nodeName, numberOfLicences); 157 dispose(); 158 } 160 private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) { dispose(); 163 } 165 private void numberOfLicencesCheckBoxActionPerformed(java.awt.event.ActionEvent evt) { numberOfLicencesTextField.setEnabled(numberOfLicencesCheckBox.isSelected()); 168 numberOfLicencesLabel.setEnabled(numberOfLicencesCheckBox.isSelected()); 169 } 171 private javax.swing.JButton OKButton; 173 private javax.swing.JButton cancelButton; 174 private javax.swing.JPanel jPanel1; 175 private javax.swing.JPanel jPanel2; 176 private javax.swing.JLabel nameLabel; 177 private javax.swing.JTextField nameTextField; 178 private javax.swing.JCheckBox numberOfLicencesCheckBox; 179 private javax.swing.JLabel numberOfLicencesLabel; 180 private javax.swing.JPanel numberOfLicencesPanel; 181 private javax.swing.JTextField numberOfLicencesTextField; 182 184 } 185 | Popular Tags |