Skip to content

Commit

Permalink
GUI form for a list containing tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
MidoDoan committed Apr 26, 2019
1 parent d9df573 commit b012695
Showing 1 changed file with 52 additions and 12 deletions.
64 changes: 52 additions & 12 deletions todo/src/main/java/view/View.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
package view;

import model.Task;

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Font;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;

public class View extends JFrame {
Expand All @@ -18,11 +13,13 @@ public class View extends JFrame {
private JScrollPane scrollPanel;
private JPanel southPanel;
private JLabel statusLabel;
private TaskPanel taskPanel;
private ArrayList<TaskPanel> taskPanel;
private JLabel ToDoLabel;
private JButton addButton;
private Box myBox;

public View() {
taskPanel = new TaskPanel(new Task("hello world"));
public View(ArrayList<Task> myList) {
taskPanel = new ArrayList<TaskPanel>();
this.setTitle("Todo List");
myFrame = this;
ToDoLabel = new JLabel("Todo List");
Expand All @@ -32,6 +29,17 @@ public View() {

statusLabel = new JLabel("Hi there!");

// add button setting
addButton = new JButton(new ImageIcon("icons/AddButton.png"));
addButton.setActionCommand("Add Task");
addButton.setBorder(BorderFactory.createEmptyBorder());
addButton.setContentAreaFilled(false);
addButton.setFocusPainted(false);

// myBox setting
myBox = Box.createVerticalBox();
myBox.setAlignmentX(Component.LEFT_ALIGNMENT);

//frame setting
this.setSize(300, 400);
this.setResizable(false);
Expand All @@ -42,6 +50,12 @@ public View() {

//panel setting
northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.LINE_AXIS));
northPanel.add(Box.createRigidArea(new Dimension(10, 0)));
northPanel.add(addButton);
northPanel.add(Box.createHorizontalGlue());
northPanel.add(ToDoLabel);
northPanel.add(Box.createHorizontalGlue());


southPanel.setLayout(new BoxLayout(southPanel, BoxLayout.PAGE_AXIS));
statusLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
Expand All @@ -51,13 +65,39 @@ public View() {
ToDoLabel.setFont(new Font("Cooper Black", Font.BOLD, 30));

//add components to frame
centerPanel.add(taskPanel);
centerPanel.add(myBox);
scrollPanel = new JScrollPane(centerPanel);
scrollPanel.setBorder(null);
this.add(scrollPanel);
this.add(southPanel, BorderLayout.SOUTH);
this.add(northPanel, BorderLayout.NORTH);
this.setVisible(true);
}

public void addTask(TaskPanel myTaskPanel) {
taskPanel.add(myTaskPanel);
myTaskPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
myBox.add(myTaskPanel);
this.setVisible(true);
}

public String getInputFromDialog() {
return JOptionPane.showInputDialog("Enter your plan: ");
}

public JButton getAddButton() {
return addButton;
}

public Box getBox() {
return myBox;
}

public JFrame getFrame() {
return myFrame;
}

public ArrayList<TaskPanel> getTaskPanels() {
return taskPanel;
}
}

0 comments on commit b012695

Please sign in to comment.