public RateGUI() {
		//Get size of screen without taskbar
		screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		screenMax = Toolkit.getDefaultToolkit().getScreenInsets(rateDialog.getGraphicsConfiguration());
		taskbarSize = screenMax.bottom;
		screenWidth = (int)screenSize.getWidth();
		screenHeight = (int)screenSize.getHeight() - taskbarSize;
		
		//Fill container
		contentPane.setLayout(rateLayout);
		contentPane.add(backButton);
		contentPane.add(rateDescriptionLabel);
		contentPane.add(rateDescriptionField);
		contentPane.add(ratePriceLabel);
		contentPane.add(ratePriceField);
		contentPane.add(rateButton);
		
		//Prepare frame components
		rateDescriptionField.setColumns(20);
		ratePriceField.setColumns(20);
		
		//Placement of components on screen
		rateLayout.putConstraint(SpringLayout.WEST, backButton, (int)(screenWidth * 0.01), SpringLayout.WEST, contentPane);
		rateLayout.putConstraint(SpringLayout.NORTH, backButton, (int)(screenHeight * 0.01), SpringLayout.NORTH, contentPane);
		
		rateLayout.putConstraint(SpringLayout.WEST, rateDescriptionLabel, (int)(screenWidth * 0.4166), SpringLayout.WEST, contentPane);
		rateLayout.putConstraint(SpringLayout.NORTH, rateDescriptionLabel, (int)(screenHeight * 0.45), SpringLayout.NORTH, contentPane);
		
		rateLayout.putConstraint(SpringLayout.WEST, rateDescriptionField, (int)(screenWidth * 0.48), SpringLayout.WEST, contentPane);
		rateLayout.putConstraint(SpringLayout.NORTH, rateDescriptionField, (int)(screenHeight * 0.45), SpringLayout.NORTH, contentPane);
		
		rateLayout.putConstraint(SpringLayout.WEST, ratePriceLabel, (int)(screenWidth * 0.4166), SpringLayout.WEST, contentPane);
		rateLayout.putConstraint(SpringLayout.NORTH, ratePriceLabel, (int)(screenHeight * 0.50), SpringLayout.NORTH, contentPane);
		
		rateLayout.putConstraint(SpringLayout.WEST, ratePriceField, (int)(screenWidth * 0.48), SpringLayout.WEST, contentPane);
		rateLayout.putConstraint(SpringLayout.NORTH, ratePriceField, (int)(screenHeight * 0.50), SpringLayout.NORTH, contentPane);
		
		rateLayout.putConstraint(SpringLayout.WEST, rateButton, (int)(screenWidth * 0.5), SpringLayout.WEST, contentPane);
		rateLayout.putConstraint(SpringLayout.NORTH, rateButton, (int)(screenHeight * 0.55) , SpringLayout.NORTH, contentPane);
		
		backButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent event) {
				if(!forEdit){
					MainGUI.switchToMenu();
				}else{
					MainGUI.switchToRateList();
				}
				
			}
		});
		
		rateButton.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				if(!forEdit){
					try {
						Rate rate = new Rate(rateDescriptionField.getText(), Float.valueOf(ratePriceField.getText()));
						if(activeUser == activeManager){
							activeManager.addRate(rate);
						}else{
							activeAdmin.addRate(rate);
						}
						reset();
						JOptionPane.showMessageDialog(contentPane, "Nieuwe prijs bewaard.");
					} catch (NumberFormatException | NullPointerException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}else{
					try {
						r.setDescription(rateDescriptionField.getText());
						r.setRate(Float.valueOf(ratePriceField.getText()));
						if(activeUser == activeManager){
							activeManager.updateRate(r);
						}else{
							activeAdmin.updateRate(r);
						}
						reset();
						JOptionPane.showMessageDialog(contentPane, "Prijs bijgewerkt.");
						MainGUI.switchToRateList();
					} catch (NumberFormatException | NullPointerException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}
			}
		});
	
	}