public ActivityManagementWindow(MainWindow mainWindow, Student stu) {
		setTitle("Modificar actividades de un alumno");
		setResizable(false);

		this.mainWindow = mainWindow;
		this.student = stu;

		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 457, 326);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);

		matriculateButton = new JButton("Matricular ->");
		matriculateButton.addActionListener(this);

		unMatriculateButton = new JButton("<- Desmatricular");
		unMatriculateButton.addActionListener(this);

		matriculated = new DefaultListModel();
		notMatriculated = new DefaultListModel();

		activityService = ActivityService.getInstance();
		familyService = FamilyService.getInstance();
		List<String> activitiesStr = new ArrayList<String>();

		List<Activity> activities = activityService.getActivities();
		Set<Activity> activitiesStudent = student.getActivities();

		Iterator<Activity> iter;
		Activity aux;
		iter = activities.iterator();
		while (iter.hasNext()) {
			aux = iter.next();
			if (activitiesStudent.contains(aux)) {
				matriculated.addElement(aux.getName());
			} else {
				notMatriculated.addElement(aux.getName());
			}
		}

		list_1 = new JList(notMatriculated);

		list_2 = new JList(matriculated);

		JScrollPane scrollPane_2 = new JScrollPane(list_1);

		JScrollPane scrollPane_1 = new JScrollPane(list_2);

		acceptButton = new JButton("Aceptar");
		acceptButton.addActionListener(this);

		cancelButton = new JButton("Cancelar");
		cancelButton.addActionListener(this);

		JLabel lblNewLabel = new JLabel("Estudiante:");
		lblNewLabel.setName("lblNewLabel");
		lblNewLabel.setText("Estudiante: " + student.getName() + " "
				+ student.getLastname());

		GroupLayout gl_contentPane = new GroupLayout(contentPane);
		gl_contentPane
				.setHorizontalGroup(gl_contentPane
						.createParallelGroup(Alignment.LEADING)
						.addGroup(
								gl_contentPane
										.createSequentialGroup()
										.addGap(26)
										.addGroup(
												gl_contentPane
														.createParallelGroup(
																Alignment.LEADING)
														.addComponent(
																lblNewLabel)
														.addGroup(
																gl_contentPane
																		.createSequentialGroup()
																		.addGroup(
																				gl_contentPane
																						.createParallelGroup(
																								Alignment.LEADING,
																								false)
																						.addComponent(
																								matriculateButton,
																								GroupLayout.DEFAULT_SIZE,
																								GroupLayout.DEFAULT_SIZE,
																								Short.MAX_VALUE)
																						.addComponent(
																								scrollPane_2,
																								GroupLayout.DEFAULT_SIZE,
																								123,
																								Short.MAX_VALUE))
																		.addGap(28)
																		.addGroup(
																				gl_contentPane
																						.createParallelGroup(
																								Alignment.LEADING,
																								false)
																						.addComponent(
																								unMatriculateButton,
																								GroupLayout.DEFAULT_SIZE,
																								GroupLayout.DEFAULT_SIZE,
																								Short.MAX_VALUE)
																						.addComponent(
																								scrollPane_1,
																								GroupLayout.DEFAULT_SIZE,
																								130,
																								Short.MAX_VALUE))
																		.addPreferredGap(
																				ComponentPlacement.RELATED)
																		.addGroup(
																				gl_contentPane
																						.createParallelGroup(
																								Alignment.TRAILING)
																						.addComponent(
																								acceptButton,
																								GroupLayout.DEFAULT_SIZE,
																								106,
																								Short.MAX_VALUE)
																						.addComponent(
																								cancelButton,
																								GroupLayout.DEFAULT_SIZE,
																								118,
																								Short.MAX_VALUE))))
										.addContainerGap()));
		gl_contentPane
				.setVerticalGroup(gl_contentPane
						.createParallelGroup(Alignment.LEADING)
						.addGroup(
								gl_contentPane
										.createSequentialGroup()
										.addComponent(lblNewLabel,
												GroupLayout.PREFERRED_SIZE, 32,
												GroupLayout.PREFERRED_SIZE)
										.addPreferredGap(
												ComponentPlacement.RELATED)
										.addGroup(
												gl_contentPane
														.createParallelGroup(
																Alignment.LEADING)
														.addGroup(
																gl_contentPane
																		.createParallelGroup(
																				Alignment.BASELINE)
																		.addComponent(
																				scrollPane_1,
																				GroupLayout.DEFAULT_SIZE,
																				210,
																				Short.MAX_VALUE)
																		.addGroup(
																				gl_contentPane
																						.createSequentialGroup()
																						.addComponent(
																								acceptButton)
																						.addGap(15)
																						.addComponent(
																								cancelButton)))
														.addComponent(
																scrollPane_2,
																GroupLayout.DEFAULT_SIZE,
																210,
																Short.MAX_VALUE))
										.addPreferredGap(
												ComponentPlacement.RELATED)
										.addGroup(
												gl_contentPane
														.createParallelGroup(
																Alignment.BASELINE)
														.addComponent(
																unMatriculateButton)
														.addComponent(
																matriculateButton))
										.addContainerGap()));

		contentPane.setLayout(gl_contentPane);

	}