1 7 8 package com.memoire.vainstall.builder.gui; 9 10 import com.memoire.vainstall.VAGlobals; 11 import com.memoire.vainstall.builder.VAIBuilderModel; 12 import com.memoire.vainstall.builder.util.*; 13 14 import java.awt.*; 15 import java.awt.event.*; 16 import java.io.File ; 17 18 import javax.swing.*; 19 import javax.swing.border.*; 20 import javax.swing.event.*; 21 import javax.swing.text.*; 22 23 37 public class NewProductWizard extends JDialog implements WindowListener, ActionListener, DocumentListener { 38 39 VAIBuilderModel model; 40 41 private final static Border loweredBorder = new SoftBevelBorder(BevelBorder.LOWERED); 42 private final static Border raisedBorder = new SoftBevelBorder(BevelBorder.RAISED); 43 44 JPanel allPanel; 45 46 JButton okButton; 47 JButton cancelButton; 48 49 JTextField nameField; 50 JTextField versionField; 51 JTextField directoryField; 52 JButton directoryButton; 53 JComboBox typeBox; 54 55 String action = VAGlobals.getResource("com.memoire.vainstall.builder.Language","Common_Cancel"); 56 57 public NewProductWizard(Frame owner) 58 { 59 super(owner); 60 setTitle(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_New")); 61 62 setModal(true); 63 64 setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); 65 66 getRootPane().registerKeyboardAction(this,"VK_ESCAPE", 67 KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0,false), 68 JComponent.WHEN_IN_FOCUSED_WINDOW); 69 70 allPanel = new JPanel(new BorderLayout()); 72 allPanel.setBorder(loweredBorder); 73 74 JPanel nPanel = new JPanel(new GridBagLayout()); 77 nPanel.setBorder(raisedBorder); 78 nPanel.setBackground(Color.white); 79 GridBagLayout nLayout = (GridBagLayout)nPanel.getLayout(); 80 81 JLabel whatLabel = new JLabel(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Title")); 82 whatLabel.setFont(new java.awt.Font ("TimesRoman", java.awt.Font.BOLD, 16)); 83 GridBagConstraints nContraint = new GridBagConstraints(); 84 nContraint.fill = GridBagConstraints.BOTH; 85 nContraint.insets = new Insets(4,8,4,4); 86 nContraint.anchor = GridBagConstraints.WEST; 87 nContraint.gridx = 0; 88 nContraint.gridy = 0; 89 nContraint.gridwidth = 1; 90 nContraint.gridheight = 1; 91 nContraint.weightx = 1; 92 nContraint.weighty = 0; 93 nLayout.setConstraints(whatLabel,nContraint); 94 nPanel.add(whatLabel); 95 96 JLabel helpLabel = new JLabel(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_SubTitle")); 97 helpLabel.setFont(new java.awt.Font ("TimesRoman", java.awt.Font.PLAIN, 12)); 98 nContraint.fill = GridBagConstraints.BOTH; 99 nContraint.insets = new Insets(4,16,4,4); 100 nContraint.anchor = GridBagConstraints.WEST; 101 nContraint.gridx = 0; 102 nContraint.gridy = 1; 103 nContraint.gridwidth = 1; 104 nContraint.gridheight = 1; 105 nContraint.weightx = 0; 106 nContraint.weighty = 0; 107 nLayout.setConstraints(helpLabel,nContraint); 108 nPanel.add(helpLabel); 109 110 JLabel iconLabel = new JLabel(new javax.swing.ImageIcon (getClass().getResource("/com/memoire/vainstall/builder/images/New24.gif"))); 111 nContraint.fill = GridBagConstraints.BOTH; 113 nContraint.insets = new Insets(4,4,4,8); 114 nContraint.anchor = GridBagConstraints.WEST; 115 nContraint.gridx = 1; 116 nContraint.gridy = 0; 117 nContraint.gridwidth = 1; 118 nContraint.gridheight = 2; 119 nContraint.weightx = 0; 120 nContraint.weighty = 0; 121 nLayout.setConstraints(iconLabel,nContraint); 122 nPanel.add(iconLabel); 123 124 allPanel.add(nPanel, BorderLayout.NORTH); 125 126 JPanel cPanel = new JPanel(new GridBagLayout()); 129 GridBagLayout cLayout = (GridBagLayout)cPanel.getLayout(); 130 GridBagConstraints cContraint = new GridBagConstraints(); 131 132 JLabel nameLabel = new JLabel(); 133 nameLabel.setText(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Name")); 134 cContraint.fill = GridBagConstraints.BOTH; 136 cContraint.insets = new Insets(8,8,0,4); 137 cContraint.anchor = GridBagConstraints.WEST; 138 cContraint.gridx = 0; 139 cContraint.gridy = 0; 140 cContraint.gridwidth = 3; 141 cContraint.gridheight = 1; 142 cContraint.weightx = 0; 143 cContraint.weighty = 0; 144 cLayout.setConstraints(nameLabel,cContraint); 145 cPanel.add(nameLabel); 146 147 nameField = new JTextField(); 148 nameField.getDocument().addDocumentListener(this); 149 cContraint.fill = GridBagConstraints.BOTH; 151 cContraint.insets = new Insets(4,8,4,8); 152 cContraint.anchor = GridBagConstraints.CENTER; 153 cContraint.gridx = 0; 154 cContraint.gridy = 1; 155 cContraint.gridwidth = 3; 156 cContraint.gridheight = 1; 157 cContraint.weightx = 1; 158 cContraint.weighty = 0; 159 cLayout.setConstraints(nameField,cContraint); 160 cPanel.add(nameField); 161 162 JLabel versionLabel = new JLabel(); 163 versionLabel.setText(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Version")); 164 cContraint.fill = GridBagConstraints.BOTH; 166 cContraint.insets = new Insets(4,8,0,4); 167 cContraint.anchor = GridBagConstraints.WEST; 168 cContraint.gridx = 0; 169 cContraint.gridy = 2; 170 cContraint.gridwidth = 3; 171 cContraint.gridheight = 1; 172 cContraint.weightx = 0; 173 cContraint.weighty = 0; 174 cLayout.setConstraints(versionLabel,cContraint); 175 cPanel.add(versionLabel); 176 177 versionField = new JTextField(); 178 versionField.getDocument().addDocumentListener(this); 179 cContraint.fill = GridBagConstraints.HORIZONTAL; 182 cContraint.insets = new Insets(4,8,4,8); 183 cContraint.anchor = GridBagConstraints.WEST; 184 cContraint.gridx = 0; 185 cContraint.gridy = 3; 186 cContraint.gridwidth = 1; 187 cContraint.gridheight = 1; 188 cContraint.weightx = 0; 189 cContraint.weighty = 0; 190 cLayout.setConstraints(versionField,cContraint); 191 cPanel.add(versionField); 192 193 JLabel directoryLabel = new JLabel(); 194 directoryLabel.setText(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Directory")); 195 cContraint.fill = GridBagConstraints.BOTH; 197 cContraint.insets = new Insets(4,8,0,4); 198 cContraint.anchor = GridBagConstraints.WEST; 199 cContraint.gridx = 0; 200 cContraint.gridy = 4; 201 cContraint.gridwidth = 1; 202 cContraint.gridheight = 1; 203 cContraint.weightx = 0; 204 cContraint.weighty = 0; 205 cLayout.setConstraints(directoryLabel,cContraint); 206 cPanel.add(directoryLabel); 207 208 directoryField = new JTextField(); 209 directoryField.setEditable(false); 210 cContraint.fill = GridBagConstraints.BOTH; 213 cContraint.insets = new Insets(4,8,4,8); 214 cContraint.anchor = GridBagConstraints.CENTER; 215 cContraint.gridx = 0; 216 cContraint.gridy = 5; 217 cContraint.gridwidth = 2; 218 cContraint.gridheight = 1; 219 cContraint.weightx = 1; 220 cContraint.weighty = 0; 221 cLayout.setConstraints(directoryField,cContraint); 222 cPanel.add(directoryField); 223 224 directoryButton = new JButton(); 225 directoryButton.setText("Change"); 226 directoryButton.setSize(directoryButton.getSize().width,directoryField.getSize().height); 227 directoryButton.addActionListener(this); 228 cContraint.fill = GridBagConstraints.BOTH; 230 cContraint.insets = new Insets(4,4,4,8); 231 cContraint.anchor = GridBagConstraints.CENTER; 232 cContraint.gridx = 1; 233 cContraint.gridy = 5; 234 cContraint.gridwidth = 1; 235 cContraint.gridheight = 1; 236 cContraint.weightx = 0; 237 cContraint.weighty = 0; 238 cLayout.setConstraints(directoryButton,cContraint); 239 cPanel.add(directoryButton); 240 241 JLabel typeLabel = new JLabel(); 242 typeLabel.setText(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Type")); 243 cContraint.fill = GridBagConstraints.BOTH; 244 cContraint.insets = new Insets(4,8,8,4); 245 cContraint.anchor = GridBagConstraints.WEST; 246 cContraint.gridx = 0; 247 cContraint.gridy = 6; 248 cContraint.gridwidth = 1; 249 cContraint.gridheight = 1; 250 cContraint.weightx = 0; 251 cContraint.weighty = 0; 252 cLayout.setConstraints(typeLabel,cContraint); 253 cPanel.add(typeLabel); 254 255 typeBox = new JComboBox(); 256 typeBox.addItem(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Type_Install")); 257 typeBox.addItem(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Type_Update")); 258 typeBox.addItem(VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Type_Module")); 259 cContraint.fill = GridBagConstraints.HORIZONTAL; 260 cContraint.insets = new Insets(4,8,8,8); 261 cContraint.anchor = GridBagConstraints.WEST; 262 cContraint.gridx = 1; 263 cContraint.gridy = 6; 264 cContraint.gridwidth = 2; 265 cContraint.gridheight = 1; 266 cContraint.weightx = 0; 267 cContraint.weighty = 0; 268 cLayout.setConstraints(typeBox,cContraint); 269 cPanel.add(typeBox); 270 271 JPanel centerFillPanel = new JPanel(); 272 cContraint.fill = GridBagConstraints.BOTH; 273 cContraint.insets = new Insets(8,4,4,4); 274 cContraint.anchor = GridBagConstraints.WEST; 275 cContraint.gridx = 0; 276 cContraint.gridy = 7; 277 cContraint.gridwidth = 1; 278 cContraint.gridheight = 1; 279 cContraint.weightx = 0; 280 cContraint.weighty = 1; 281 cLayout.setConstraints(centerFillPanel,cContraint); 282 cPanel.add(centerFillPanel); 283 284 allPanel.add(cPanel, BorderLayout.CENTER); 285 286 JPanel sPanel = new JPanel(new GridBagLayout()); 289 sPanel.setBorder(raisedBorder); 290 GridBagLayout sLayout = (GridBagLayout)sPanel.getLayout(); 291 GridBagConstraints sContraint = new GridBagConstraints(); 292 293 JPanel buttonFillPanel = new JPanel(); 294 sContraint.fill = GridBagConstraints.BOTH; 295 sContraint.insets = new Insets(4,4,4,4); 296 sContraint.anchor = GridBagConstraints.WEST; 297 sContraint.gridx = 0; 298 sContraint.gridy = 1; 299 sContraint.gridwidth = 1; 300 sContraint.gridheight = 1; 301 sContraint.weightx = 1; 302 sContraint.weighty = 0; 303 sLayout.setConstraints(buttonFillPanel,sContraint); 304 sPanel.add(buttonFillPanel); 305 306 okButton = new JButton(); 307 okButton.setText(VAGlobals.getResource("com.memoire.vainstall.builder.Language","Common_Finish")); 308 okButton.addActionListener(this); 309 okButton.setEnabled(false); 310 sContraint.fill = GridBagConstraints.BOTH; 311 sContraint.insets = new Insets(4,4,4,4); 312 sContraint.anchor = GridBagConstraints.WEST; 313 sContraint.gridx = 1; 314 sContraint.gridy = 1; 315 sContraint.gridwidth = 1; 316 sContraint.gridheight = 1; 317 sContraint.weightx = 0; 318 sContraint.weighty = 0; 319 sLayout.setConstraints(okButton,sContraint); 320 sPanel.add(okButton); 321 322 cancelButton = new JButton(); 323 cancelButton.setText(VAGlobals.getResource("com.memoire.vainstall.builder.Language","Common_Cancel")); 324 cancelButton.addActionListener(this); 325 sContraint.fill = GridBagConstraints.BOTH; 326 sContraint.insets = new Insets(4,4,4,8); 327 sContraint.anchor = GridBagConstraints.WEST; 328 sContraint.gridx = 2; 329 sContraint.gridy = 1; 330 sContraint.gridwidth = 1; 331 sContraint.gridheight = 1; 332 sContraint.weightx = 0; 333 sContraint.weighty = 0; 334 sLayout.setConstraints(cancelButton,sContraint); 335 sPanel.add(cancelButton); 336 337 allPanel.add(sPanel, BorderLayout.SOUTH); 338 339 this.getContentPane().add("Center",allPanel); 342 343 setSize(500,340); 344 center(); 345 } 346 347 351 public void initialize(VAIBuilderModel model) { 352 this.model = model; 353 354 String rootDirectory = (String )model.getPropertyList().get("vainstall.projectroot"); 355 if (rootDirectory == null) { 356 rootDirectory = System.getProperty("user.dir"); 357 } 358 directoryField.setText(rootDirectory); 359 } 360 361 public void actionPerformed(ActionEvent evt) 362 { 363 364 Object source = evt.getSource(); 366 String actionCommand = evt.getActionCommand(); 367 368 if(actionCommand != null && actionCommand.equals("VK_ESCAPE")==true) 369 { 370 action = VAGlobals.getResource("com.memoire.vainstall.builder.Language","Common_Cancel"); 371 } 372 373 if (source == directoryButton) { 374 375 JFileChooser jfc = new JFileChooser(); 376 jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 377 378 String rootDirectory = (String )model.getPropertyList().get("vainstall.projectroot"); 379 if (rootDirectory == null) { 380 rootDirectory = System.getProperty("user.dir"); 381 } 382 jfc.setCurrentDirectory(new File (rootDirectory)); 383 384 int result = jfc.showDialog(null,VAGlobals.getResource("com.memoire.vainstall.builder.Language","NewProductWizard_Select")); 385 if (result == JFileChooser.APPROVE_OPTION) { 386 directoryField.setText(jfc.getSelectedFile().getAbsolutePath()); 387 } 388 return; 389 } 390 391 if(source == okButton) 392 { 393 action = VAGlobals.getResource("com.memoire.vainstall.builder.Language","Common_Finish"); 394 } 395 396 if(source == cancelButton) 397 { 398 action = VAGlobals.getResource("com.memoire.vainstall.builder.Language","Common_Cancel"); 399 } 400 401 setVisible(false); 402 403 } 404 405 public String getAction() { 406 return action; 407 } 408 409 public void center() { 410 Dimension dimScreen = Toolkit.getDefaultToolkit().getScreenSize(); 411 setLocation((dimScreen.width - this.getSize().width) / 2, 412 (dimScreen.height - this.getSize().height) / 2); 413 } 414 415 419 public void windowActivated(java.awt.event.WindowEvent e) 420 { 421 } 422 423 427 public void windowClosed(java.awt.event.WindowEvent e) 428 { 429 } 430 431 435 public void windowClosing(java.awt.event.WindowEvent e) 436 { 437 } 438 439 443 public void windowDeactivated(java.awt.event.WindowEvent e) 444 { 445 } 446 447 451 public void windowDeiconified(java.awt.event.WindowEvent e) 452 { 453 } 454 455 459 public void windowIconified(java.awt.event.WindowEvent e) 460 { 461 } 462 463 467 public void windowOpened(java.awt.event.WindowEvent e) 468 { 469 okButton.requestFocus(); 470 } 471 472 public void changedUpdate(DocumentEvent e) { 473 } 474 public void insertUpdate(DocumentEvent e) { 475 if (nameField.getText().length() > 0 && versionField.getText().length() > 0) { 476 okButton.setEnabled(true); 477 } else { 478 okButton.setEnabled(false); 479 } 480 } 481 public void removeUpdate(DocumentEvent e) { 482 if (nameField.getText().length() > 0 && versionField.getText().length() > 0) { 483 okButton.setEnabled(true); 484 } else { 485 okButton.setEnabled(false); 486 } 487 } 488 489 public String getProductName() { 490 return nameField.getText(); 491 } 492 493 public String getProductVersion() { 494 return versionField.getText(); 495 } 496 497 public String getProductDirectory() { 498 return directoryField.getText(); 499 } 500 501 public String getProductType() { 502 return "install"; 503 } 504 505 } 506 | Popular Tags |