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:
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;
+ }
+
+}