private void initGUI() {
		try {
			this.setLayout(new BoxLayout(this, javax.swing.BoxLayout.X_AXIS));
			// this.setPreferredSize(new Dimension(400, 300));
			{
				tablePanel.setLayout(new BoxLayout(tablePanel, javax.swing.BoxLayout.Y_AXIS));
				this.add(tablePanel);
				{
					tablePanel.add(notesTableScroll);
					notesTableScroll.setPreferredSize(new java.awt.Dimension(235, 264));
					{
						notesTableScroll.setViewportView(notesTable);
						notesTable.setModel(notesTableModel);

						// set up type combo
						SmartComboBox.enable(typeComboBox);
						TableColumn noteColumn = notesTable.getColumnModel().getColumn(1);
						noteColumn.setCellEditor(new SBComboBoxCellEditor(typeComboBox));	
						typeComboBox.addActionListener(this);

						// set up the date picker
						noteColumn = notesTable.getColumnModel().getColumn(0);
						noteColumn.setCellEditor(dateEditor);
						
						// listen for row selections:
						ListSelectionModel rowSM = notesTable.getSelectionModel();						
						notesTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
						
						// Ask to be notified of selection changes.						
						rowSM.addListSelectionListener(new ListSelectionListener() {					
							
						    public void valueChanged(ListSelectionEvent e) {
						        //Ignore extra messages.
						        if (e.getValueIsAdjusting()) return;
						        ListSelectionModel lsm =
						            (ListSelectionModel)e.getSource();
						        if (lsm.isSelectionEmpty()) {
						            // ...//no rows are selected
						        } else {
						            selectedRow = lsm.getMinSelectionIndex();
						            noteTextArea.setText(myRecipe.getNoteNote(selectedRow));
						        }
						    }
						});
						
						

					}
				}
				{
					tablePanel.add(buttonsPanel);
					buttonsPanelLayout.setAlignment(FlowLayout.LEFT);
					buttonsPanel.setLayout(buttonsPanelLayout);
					{
						buttonsPanel.add(addNoteButton);
						addNoteButton.setText("+");
						addNoteButton.addActionListener(this);
					}
					{
						buttonsPanel.add(delNoteButton);
						delNoteButton.setText("-");
						delNoteButton.addActionListener(this);					}
				}
			}
			{
				BoxLayout notePanelLayout = new BoxLayout(notePanel, javax.swing.BoxLayout.Y_AXIS);
				notePanel.setLayout(notePanelLayout);
				this.add(notePanel);
				notePanel.setBorder(BorderFactory.createTitledBorder("Note:"));
				{
					notePanel.add(noteScroll);
					{
						noteScroll.setViewportView(noteTextArea);
						noteTextArea.setWrapStyleWord(true);
						noteTextArea.setLineWrap(true);
						noteTextArea.addFocusListener(new FocusAdapter() {
							public void focusLost(FocusEvent evt) {								
								if (selectedRow > -1) {
									Debug.print("Selected row: " + selectedRow);
									myRecipe.setNoteNote(selectedRow, noteTextArea.getText());
								}
							}
						});	

					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}