private void initGUI() {
		try {
			getContentPane().setLayout(null);
			this.setTitle("Travel Experts");			
			{
				
				// Panel Labels
				jPnlLabels = new JPanel();
				GridLayout jPnlLabelsLayout = new GridLayout(5, 1);
				jPnlLabelsLayout.setColumns(1);
				jPnlLabelsLayout.setHgap(5);
				jPnlLabelsLayout.setVgap(15);
				jPnlLabelsLayout.setRows(5);
				jPnlLabels.setLayout(jPnlLabelsLayout);
				getContentPane().add(jPnlLabels);
				jPnlLabels.setBounds(63, 114, 145, 206);
				{
					// Package Name
					lblPkgName = new JLabel();
					jPnlLabels.add(lblPkgName);
					lblPkgName.setText("Package Name:");
					lblPkgName.setBounds(23, 5, 87, 15);
					lblPkgName.setHorizontalTextPosition(SwingConstants.LEADING);
					lblPkgName.setHorizontalAlignment(SwingConstants.RIGHT);
					lblPkgName.setPreferredSize(new java.awt.Dimension(201, 42));
					
				}
				{
					// Start Date
					lblStartDate = new JLabel();
					jPnlLabels.add(lblStartDate);
					lblStartDate.setText("Start Date:");
					lblStartDate.setBounds(23, 82, 71, 15);
					lblStartDate.setPreferredSize(new java.awt.Dimension(69, 15));
					lblStartDate.setHorizontalAlignment(SwingConstants.RIGHT);
					
				}
				{
					// End Date
					lblEndDate = new JLabel();
					jPnlLabels.add(lblEndDate);
					lblEndDate.setText("End Date:");
					lblEndDate.setBounds(23, 118, 63, 15);
					lblEndDate.setPreferredSize(new java.awt.Dimension(67, 15));
					lblEndDate.setHorizontalAlignment(SwingConstants.RIGHT);
				}
				{
					// Base Price
					lblBasePrice = new JLabel();
					jPnlLabels.add(lblBasePrice);
					lblBasePrice.setText("Base Price:");
					lblBasePrice.setBounds(23, 157, 71, 15);
					lblBasePrice.setPreferredSize(new java.awt.Dimension(69, 15));
					lblBasePrice.setHorizontalAlignment(SwingConstants.RIGHT);
				}
				{
					// Agent Commission
					lblAgcyCms = new JLabel();
					jPnlLabels.add(lblAgcyCms);
					lblAgcyCms.setText("Agency Commission:");
					lblAgcyCms.setBounds(23, 188, 87, 15);
					lblAgcyCms.setHorizontalAlignment(SwingConstants.RIGHT);
					lblAgcyCms.setPreferredSize(new java.awt.Dimension(124, 100));
				}
			
			   // Panel TextFields
				jPnlTextFields = new JPanel();
			   GridLayout jPnlTextFieldsLayout = new GridLayout(5, 1);
				jPnlTextFieldsLayout.setColumns(1);
				jPnlTextFieldsLayout.setHgap(5);
				jPnlTextFieldsLayout.setVgap(15);
				jPnlTextFieldsLayout.setRows(5);
				getContentPane().add(jPnlTextFields);
				jPnlTextFields.setBounds(220, 116, 211, 206);
				jPnlTextFields.setLayout(jPnlTextFieldsLayout);
				{
					// Package Name
					txtPkgName = new JTextField();
					jPnlTextFields.add(txtPkgName);
					txtPkgName.setBounds(12, 1, 170, 20);
					txtPkgName.setPreferredSize(new java.awt.Dimension(149, 22));
					txtPkgName.setSize(211, 30);
					
				}
				{	
					// Start Date
					dcStartDate = new JDateChooser();
					jPnlTextFields.add(dcStartDate);
					dcStartDate.setBounds(12, 79, 170, 20);					
				}
				{	
					// End Date
					dcEndDate = new JDateChooser();
					jPnlTextFields.add(dcEndDate);
					dcStartDate.setBounds(12, 116, 170, 20);
					dcStartDate.setRequestFocusEnabled(false);

				}
				{	// Base Price
					txtBasePrice = new JTextField();
					jPnlTextFields.add(txtBasePrice);
					txtBasePrice.setBounds(12, 152, 170, 20);
					txtBasePrice.setPreferredSize(new java.awt.Dimension(145, 22));
					txtBasePrice.addFocusListener(new FocusAdapter() {
						public void focusLost(FocusEvent evt) {
							txtBasePriceFocusLost(evt);
						}
					});

				}
				{	// Agency Commission
					txtAgcyCms = new JTextField();
					jPnlTextFields.add(txtAgcyCms);
					txtAgcyCms.setBounds(12, 186, 170, 20);
					txtAgcyCms.setPreferredSize(new java.awt.Dimension(147, 22));
					txtAgcyCms.setSize(211, 30);
					txtAgcyCms.addFocusListener(new FocusAdapter() {
						public void focusLost(FocusEvent evt) {
							txtAgcyCmsFocusLost(evt);
						}
					});

				}
			
				// Panel Buttons
				jPnlButtons = new JPanel();
				jPnlButtons.setLayout(null);
				getContentPane().add(jPnlButtons);
				getContentPane().add(getLblDesc());
				getContentPane().add(getJScrollPane1());
				getContentPane().add(getLblProSup());

				jPnlButtons.setBounds(476, 491, 344, 39);
				{	
					// Cancel button
					btnCancel = new JButton();
					jPnlButtons.add(btnCancel);
					btnCancel.setText("Cancel");
					btnCancel.setBounds(245, 0, 99, 33);

					// mouse listener
					btnCancel.addMouseListener(new MouseAdapter() {
					public void mouseClicked(MouseEvent evt) {
						System.out.println("btnCancel.mouseClicked, event="+evt);
						// end this application
						dispose();
					}
				 });
				}
				{	// Save button
					btnSave = new JButton();
					jPnlButtons.add(btnSave);
					btnSave.setText("Save");
					btnSave.setBounds(128, 0, 101, 33);
					btnSave.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btnSaveActionPerformed(evt);
					}
				 });				
				}
				
				// Call DisplayPackageData Function
				DisplayPackageData();
				
				// Call DisplayProductsSuppliersList function
				DisplayProductsSuppliersList();
				
				// create product/supplier JList
				getContentPane().add(getJScrollPane2());
			}
		
			pack();
			this.setSize(859, 581);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}