GithubInitializer/src/main/java/nl/andrewlalis/ui/view/CreateAssignmentsView.java

54 lines
1.8 KiB
Java

package nl.andrewlalis.ui.view;
import nl.andrewlalis.git_api.GithubManager;
import nl.andrewlalis.ui.control.listeners.create_assignments_view.NextListener;
import javax.swing.*;
import java.awt.*;
/**
* In this view, the user will enter the name of an assignments repository to use for the course, or allows the user to
* create a new one.
*
* Once the user is here, it is guaranteed that the github manager has been validated.
*/
public class CreateAssignmentsView extends AbstractView {
private JTextField repositoryNameField;
public CreateAssignmentsView(GithubManager manager) {
super("Create/Set Assignments Repository",
false,
DISPOSE_ON_CLOSE,
null,
manager);
}
public String getRepositoryName() {
return this.repositoryNameField.getText();
}
@Override
protected JPanel buildContentPane() {
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
JPanel fieldPanel = new JPanel();
fieldPanel.setLayout(new BoxLayout(fieldPanel, BoxLayout.PAGE_AXIS));
this.repositoryNameField = new JTextField();
fieldPanel.add(this.generateTextFieldPanel("Assignments repository name:", this.repositoryNameField));
contentPane.add(fieldPanel, BorderLayout.CENTER);
JButton nextButton = new JButton("Next");
InputStudentsFileView inputStudentsFileView = new InputStudentsFileView(this.getGithubManager());
this.addChildView(inputStudentsFileView);
inputStudentsFileView.addParentView(this);
nextButton.addActionListener(new NextListener(this, inputStudentsFileView));
contentPane.add(nextButton, BorderLayout.SOUTH);
return contentPane;
}
}