Please take time to read the code disclaimer.
/**
* 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
}