OOP-Projects-Java

Log | Files | Refs | README

commit fa821fd42ac7fd73109808280707de84254c6e5f
parent f39421043a099935924a020848c553faa0dc381c
Author: William Lindholm <william_lindholm@outlook.com>
Date:   Wed,  8 Feb 2023 16:17:34 +0100

Added gui buttons and tasks

Diffstat:
AOOP2023_a22willi_a21liltr_assignment2/src/assignment2/GUI.java | 75+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MOOP2023_a22willi_a21liltr_assignment2/src/assignment2/Main.java | 14++++----------
AOOP2023_a22willi_a21liltr_assignment2/src/assignment2/ToDoList.java | 26++++++++++++++++++++++++++
AOOP2023_a22willi_a21liltr_assignment2/src/assignment2/WorkTask.java | 46++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 151 insertions(+), 10 deletions(-)

diff --git a/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/GUI.java b/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/GUI.java @@ -0,0 +1,75 @@ +package assignment2; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.event.*; + +import javax.swing.*; + +import se.his.it401g.todo.HomeTask; +import se.his.it401g.todo.StudyTask; +import se.his.it401g.todo.Task; + +public class GUI implements ActionListener { + //create new instance of JFrame + private JFrame frame = new JFrame(); + private JButton btnNewStudyTask, btnNewHomeTask; + private JPanel menu, taskList; + private Dimension menuBar = new Dimension(50, 50); + private Dimension window = new Dimension(400, 500); + + /* + * Initialize the gui using Swing + */ + public GUI() { + //set frame variables and make frame visible + frame.setSize(window); + frame.setVisible(true); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + //add buttons for creating new tasks (inside panel) + menu = new JPanel(); + menu.setSize(menuBar); + taskList = new JPanel(); + taskList.setLayout(new BoxLayout(taskList, BoxLayout.PAGE_AXIS)); + + btnNewStudyTask = new JButton("Add StudyTask"); + btnNewStudyTask.addActionListener(this); + menu.add(btnNewStudyTask); + + btnNewHomeTask = new JButton("Add HomeTask"); + btnNewHomeTask.addActionListener(this); + menu.add(btnNewHomeTask); + + frame.add(menu, BorderLayout.NORTH); + frame.add(taskList); + } + + /* + * Adds a component to the frame. + * + * @param component The component to add. + */ + private void addTask(Task task) { + taskList.add(task.getGuiComponent()); + + //update the frame to show currently visible tasks. + SwingUtilities.updateComponentTreeUI(taskList); + } + + public void removeTask() { + + } + + @Override + public void actionPerformed(ActionEvent e) { + + if (e.getSource() == btnNewHomeTask) { + addTask(new HomeTask()); + } + else if (e.getSource() == btnNewStudyTask) { + addTask(new StudyTask()); + } + } +} diff --git a/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/Main.java b/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/Main.java @@ -1,18 +1,12 @@ package assignment2; -import javax.swing.JCheckBox; -import javax.swing.JFrame; +import se.his.it401g.todo.HomeTask; +import se.his.it401g.todo.StudyTask; +import se.his.it401g.todo.Task; public class Main { public static void main(String[] args) { - System.out.println("Hej Världen!"); - - JFrame frame = new JFrame(); - frame.setSize(400, 200); - frame.add(new JCheckBox()); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setVisible(true); + GUI gui = new GUI(); } - } diff --git a/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/ToDoList.java b/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/ToDoList.java @@ -0,0 +1,26 @@ +package assignment2; + +import java.util.ArrayList; +import java.util.Collections; + +import se.his.it401g.todo.Task; + +public class ToDoList { + private ArrayList<Task> todoList = new ArrayList<Task>(); + + /* + * Append a task to the list of tasks + * + * @param task the task to add of type Task + */ + public void addTask(Task task) { + todoList.add(task); + } + + /* + * @return returns all tasks as an ArrayList. + */ + public ArrayList<Task> getTodoList() { + return todoList; + } +} diff --git a/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/WorkTask.java b/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/WorkTask.java @@ -0,0 +1,46 @@ +package assignment2; + +import java.awt.Component; + +import se.his.it401g.todo.Task; +import se.his.it401g.todo.TaskListener; + +public class WorkTask implements Task { + + @Override + public String getText() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getTaskType() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setTaskListener(TaskListener t) { + // TODO Auto-generated method stub + + } + + @Override + public TaskListener getTaskListener() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isComplete() { + // TODO Auto-generated method stub + return false; + } + + @Override + public Component getGuiComponent() { + // TODO Auto-generated method stub + return null; + } + +}