Please take time to read the code disclaimer.

<--Go back to Kent's Projects

<--Go back to project post

/**
 * CreateSalesOrder.java
 *
 * Created on Nov 29, 2011, 8:48:47 PM
 */
package clerksystem;

import backend.*;
import java.util.*;
import javax.swing.*;
import silverlining.*;

/**
 *
 * @author Kent
 */
public class CreateSalesOrder extends javax.swing.JDialog {

  private DefaultComboBoxModel customizationBoxModel = new DefaultComboBoxModel();
  private LinkedList customizationList = new LinkedList();
  
  /** Creates new form CreateSalesOrder
   * @param parent
   * @param modal  
   */
  public CreateSalesOrder(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    myInitComponents();
    StaticClass.centerAndPack(this);
  }

  /** 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.
   */
  @SuppressWarnings("unchecked")
    // //GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        mainComponentsPanel = new javax.swing.JPanel();
        awardCodeLabel = new javax.swing.JLabel();
        awardCodeTextField = new javax.swing.JTextField();
        verifyCodeButton = new javax.swing.JButton();
        recipientLabel = new javax.swing.JLabel();
        recipientNameLabel = new javax.swing.JLabel();
        awardLabel = new javax.swing.JLabel();
        awardTypeLabel = new javax.swing.JLabel();
        itemNumberLabel = new javax.swing.JLabel();
        itemTextField = new javax.swing.JTextField();
        customizationLabel = new javax.swing.JLabel();
        customizationScrollPane = new javax.swing.JScrollPane();
        customizationTextArea = new javax.swing.JTextArea();
        submitOrderButton = new javax.swing.JButton();
        customizationItemsComboBox = new javax.swing.JComboBox();
        customizationOptionsLabel = new javax.swing.JLabel();
        isRushedOrderCheckBox = new javax.swing.JCheckBox();
        logoLabel = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Create New Sales Order");
        getContentPane().setLayout(new java.awt.GridBagLayout());

        mainComponentsPanel.setLayout(new java.awt.GridBagLayout());

        awardCodeLabel.setText("Award Code: ");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(awardCodeLabel, gridBagConstraints);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 75;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(awardCodeTextField, gridBagConstraints);

        verifyCodeButton.setText("Verify Code");
        verifyCodeButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                verifyCodeButtonActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        mainComponentsPanel.add(verifyCodeButton, gridBagConstraints);

        recipientLabel.setText("Recipient: ");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(recipientLabel, gridBagConstraints);

        recipientNameLabel.setText("(enter valid code)");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(recipientNameLabel, gridBagConstraints);

        awardLabel.setText("Award: ");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(awardLabel, gridBagConstraints);

        awardTypeLabel.setText("(enter valid code)");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(awardTypeLabel, gridBagConstraints);

        itemNumberLabel.setText("Item Number: ");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(itemNumberLabel, gridBagConstraints);

        itemTextField.setText("(enter valid code)");
        itemTextField.setEnabled(false);
        itemTextField.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                itemTextFieldMouseClicked(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 75;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(itemTextField, gridBagConstraints);

        customizationLabel.setText("Customization: ");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(customizationLabel, gridBagConstraints);

        customizationScrollPane.setMinimumSize(new java.awt.Dimension(54, 60));

        customizationTextArea.setColumns(6);
        customizationTextArea.setFont(new java.awt.Font("Tahoma", 0, 11));
        customizationTextArea.setLineWrap(true);
        customizationTextArea.setRows(3);
        customizationTextArea.setTabSize(3);
        customizationTextArea.setText("(enter valid code)");
        customizationTextArea.setWrapStyleWord(true);
        customizationTextArea.setEnabled(false);
        customizationTextArea.setMinimumSize(new java.awt.Dimension(52, 58));
        customizationScrollPane.setViewportView(customizationTextArea);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 75;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(customizationScrollPane, gridBagConstraints);

        submitOrderButton.setText("Submit Order");
        submitOrderButton.setEnabled(false);
        submitOrderButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                submitOrderButtonActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 7;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        mainComponentsPanel.add(submitOrderButton, gridBagConstraints);

        customizationItemsComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "--Select Option--", "Customization Option 1", "Customization Option 2", "Customization Option 3", "Customization Option 4" }));
        customizationItemsComboBox.setEnabled(false);
        customizationItemsComboBox.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                customizationItemsComboBoxItemStateChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(customizationItemsComboBox, gridBagConstraints);

        customizationOptionsLabel.setText("Customization Options: ");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(customizationOptionsLabel, gridBagConstraints);

        isRushedOrderCheckBox.setText("Is Rushed Order?");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 7;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        mainComponentsPanel.add(isRushedOrderCheckBox, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.insets = new java.awt.Insets(27, 45, 0, 0);
        getContentPane().add(mainComponentsPanel, gridBagConstraints);

        logoLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/SLLogo10%.jpg"))); // NOI18N
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        getContentPane().add(logoLabel, gridBagConstraints);

        pack();
    }// //GEN-END:initComponents

  private void verifyCodeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_verifyCodeButtonActionPerformed
    verifyCode();
  }//GEN-LAST:event_verifyCodeButtonActionPerformed

  private void itemTextFieldMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_itemTextFieldMouseClicked
    itemTextField.setText("");
    ItemSelectionDialog isd = new ItemSelectionDialog(this, true, itemTextField);
    isd.setVisible(true);
    if (itemTextField.getText().isEmpty()) {
      itemTextField.setText("(click to select)");
    } else {
      itemTextField.setEditable(false);
      customizationItemsComboBox.setEnabled(true);
      customizationItemsComboBox.removeAllItems();
      customizationItemsComboBox.addItem("--Select Option--");
      customizationItemsComboBox.addItem("Customization Option 1");
      customizationItemsComboBox.addItem("Customization Option 2");
      customizationItemsComboBox.addItem("Customization Option 3");
      customizationItemsComboBox.addItem("Customization Option 4");
      customizationTextArea.setEnabled(true);
      customizationTextArea.setText("");
      submitOrderButton.setEnabled(true);
    }
  }//GEN-LAST:event_itemTextFieldMouseClicked

  private void submitOrderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_submitOrderButtonActionPerformed
    JOptionPane.showMessageDialog(this, "Submission Successful. Will ship within two weeks.");
    this.dispose();
  }//GEN-LAST:event_submitOrderButtonActionPerformed

  private void customizationItemsComboBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_customizationItemsComboBoxItemStateChanged
    updateCustomizationTextArea();
  }//GEN-LAST:event_customizationItemsComboBoxItemStateChanged

  /**
   * This method initiates the components I want to
   */
  private void myInitComponents() {
    customizationBoxModel.addElement("(enter valid code)");
    Customization c1 = new Customization();
    c1.setNumber(1);
    c1.setDescription("Description for number 1");
  }
  
  /**
   * This method verifies if the code is accurate, if not, it displays a dialog preventing the user from proceeding
   */
  public void verifyCode() {
    if (awardCodeTextField.getText().isEmpty()) {
      JOptionPane.showMessageDialog(this, "Code invalid. Try again.");
      recipientNameLabel.setText("(enter valid code)");
      awardTypeLabel.setText("(enter valid code)");
      itemTextField.setEnabled(false);
      itemTextField.setText("(enter valid code)");
      customizationBoxModel.removeAllElements();
      customizationItemsComboBox.setEnabled(false);
      customizationBoxModel.addElement("(enter valid code)");
      customizationTextArea.setEnabled(false);
      customizationTextArea.setText("(enter valid code)");
    } else {
      recipientNameLabel.setText("DEMO RECIPIENT");
      awardTypeLabel.setText("DEMO AWARD TYPE");
      itemTextField.setEnabled(true);
      itemTextField.setText("(click to select)");
      customizationBoxModel.removeAllElements();
      customizationBoxModel.addElement("(select item)");
      customizationTextArea.setText("(select item)");
    }
  }

  /**
   * This method sets the text for the customization options
   */
  public void updateCustomizationTextArea() {
    
  }
  
  /**
   * This method sets the item number
   * @param number 
   */
  public void setItemNumber(String number) {
    itemTextField.setText(number);
  }
  
  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
    /** Set the Nimbus look and feel */
    //
        /** If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
      for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if ("Nimbus".equals(info.getName())) {
          javax.swing.UIManager.setLookAndFeel(info.getClassName());
          break;
        }
      }
    } catch (ClassNotFoundException ex) {
      java.util.logging.Logger.getLogger(CreateSalesOrder.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
      java.util.logging.Logger.getLogger(CreateSalesOrder.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
      java.util.logging.Logger.getLogger(CreateSalesOrder.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
      java.util.logging.Logger.getLogger(CreateSalesOrder.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //

    /** Create and display the dialog */
    java.awt.EventQueue.invokeLater(new Runnable() {

      public void run() {
        CreateSalesOrder dialog = new CreateSalesOrder(new javax.swing.JFrame(), true);
        dialog.addWindowListener(new java.awt.event.WindowAdapter() {

          @Override
          public void windowClosing(java.awt.event.WindowEvent e) {
            System.exit(0);
          }
        });
        dialog.setVisible(true);
      }
    });
  }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel awardCodeLabel;
    private javax.swing.JTextField awardCodeTextField;
    private javax.swing.JLabel awardLabel;
    private javax.swing.JLabel awardTypeLabel;
    private javax.swing.JComboBox customizationItemsComboBox;
    private javax.swing.JLabel customizationLabel;
    private javax.swing.JLabel customizationOptionsLabel;
    private javax.swing.JScrollPane customizationScrollPane;
    private javax.swing.JTextArea customizationTextArea;
    private javax.swing.JCheckBox isRushedOrderCheckBox;
    private javax.swing.JLabel itemNumberLabel;
    private javax.swing.JTextField itemTextField;
    private javax.swing.JLabel logoLabel;
    private javax.swing.JPanel mainComponentsPanel;
    private javax.swing.JLabel recipientLabel;
    private javax.swing.JLabel recipientNameLabel;
    private javax.swing.JButton submitOrderButton;
    private javax.swing.JButton verifyCodeButton;
    // End of variables declaration//GEN-END:variables
}