public ReservationListGUI() {
			//Get size of screen without taskbar
			screenSize = Toolkit.getDefaultToolkit().getScreenSize();
			screenMax = Toolkit.getDefaultToolkit().getScreenInsets(reservationListDialog.getGraphicsConfiguration());
			taskbarSize = screenMax.bottom;
			screenWidth = (int)screenSize.getWidth();
			screenHeight = (int)screenSize.getHeight() - taskbarSize;

			//Fill container
			contentPane.setLayout(reservationListLayout);
			contentPane.add(backButton);
			contentPane.add(addButton);
			contentPane.add(deleteButton);
			contentPane.add(editButton);
			contentPane.add(listScrollPane);
			contentPane.add(searchLabel);
			contentPane.add(searchField);
			contentPane.add(reservationListBox);

			//Prepare frame components
			listField.setEditable(false);
			listField.setSelectionColor(selectionColor);
			searchField.setColumns(20);

			//Placement of components on screen
			reservationListLayout.putConstraint(SpringLayout.WEST, backButton, (int)(screenWidth * 0.01), SpringLayout.WEST, contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, backButton, (int)(screenHeight * 0.01), SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, listScrollPane, (int)(screenWidth * 0.35), SpringLayout.WEST, contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, listScrollPane, (int)(screenHeight * 0.3703), SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, addButton, (int)(screenWidth * 0.71), SpringLayout.WEST, contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, addButton, (int)(screenHeight * 0.41), SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, deleteButton, (int)(screenWidth * 0.71), SpringLayout.WEST, contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, deleteButton, (int)(screenHeight * 0.46), SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, editButton, (int)(screenWidth * 0.71), SpringLayout.WEST, contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, editButton, (int)(screenHeight * 0.51), SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, searchLabel, (int)(screenWidth * 0.42), SpringLayout.WEST,contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, searchLabel, (int)(screenHeight * 0.33) , SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, searchField, (int)(screenWidth * 0.45), SpringLayout.WEST,contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, searchField, (int)(screenHeight * 0.33) , SpringLayout.NORTH, contentPane);

			reservationListLayout.putConstraint(SpringLayout.WEST, reservationListBox, (int)(screenWidth * 0.6), SpringLayout.WEST,contentPane);
			reservationListLayout.putConstraint(SpringLayout.NORTH, reservationListBox, (int)(screenHeight * 0.33) , SpringLayout.NORTH, contentPane);

			addButton.addActionListener(new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent arg0) {
					MainGUI.switchToReservations();
				}

			});

			editButton.addActionListener(new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent arg0) {
					MainGUI.switchToReservations(true);
				}


			});

			backButton.addActionListener(new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent event) {
					MainGUI.switchToMenu();
				}

			});

			listField.addMouseListener(new MouseAdapter() {

				@Override
				public void mouseClicked(MouseEvent e) {

					try {
						int offset = listField.viewToModel(e.getPoint());
						int rowStart = Utilities.getRowStart(listField, offset);
						int rowEnd = Utilities.getRowEnd(listField, offset);
						listField.setSelectionStart(rowStart);
						listField.setSelectionEnd(rowEnd);
						selectedLine = listField.getText().substring(rowStart, rowEnd);
						int end = selectedLine.indexOf("|", 5);
						selectedLine = selectedLine.substring(5, end - 1);
						selectionMade = true;
						System.out.println(selectedLine);
					} catch (BadLocationException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}

				}

			});

			deleteButton.addActionListener(new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent e) {
					if(selectionMade == true) {
						Reservation reservation = null;
						for(Reservation r : reservationList) {
							if(r.getMemberID() == Integer.valueOf(selectedLine)) {
								reservation = r;
							}
						}
						if(activeUser == activeLibrarian){
							ReservationDAO.removeReservation(reservation.getProductID(), reservation.getMemberID());
						}
						selectionMade = false;

						reset();
						update();
					}

				}

			});
			searchField.addActionListener(new ActionListener(){

				@Override
				public void actionPerformed(ActionEvent e) {
					reset();
					String text = searchField.getText();
					if(a==" Product")
					{
						reset();
						reservationList = ReservationDAO.searchByProductID(Integer.valueOf(text));
						update(reservationList);
					}
					if(a==" Member")
					{
						reset();
						reservationList = ReservationDAO.searchByMemberID(Integer.valueOf(text));
						update(reservationList);
					}
					if(a==" Type")
					{
						reset();
						reservationList = ReservationDAO.searchByType(text);
						update(reservationList);
					}
				}
			});
			
			reservationListBox.addActionListener(new ActionListener(){

				@Override
				public void actionPerformed(ActionEvent e) {
					@SuppressWarnings("rawtypes")
					JComboBox cb = (JComboBox)e.getSource();
					a = (String)cb.getSelectedItem();

				}

			});
		}