commit 7f4b6e366968e520e8f0f29a0c168734e06f2543
parent 04bc5d6ca64fa1bbb37162e302d1305c53b08bcd
Author: William Lindholm <william_lindholm@outlook.com>
Date: Mon, 13 Feb 2023 14:36:57 +0100
Created method for creating buttons
Diffstat:
1 file changed, 31 insertions(+), 20 deletions(-)
diff --git a/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/GUI.java b/OOP2023_a22willi_a21liltr_assignment2/src/assignment2/GUI.java
@@ -3,6 +3,9 @@ package assignment2;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
import javax.swing.*;
@@ -15,10 +18,10 @@ public class GUI implements ActionListener {
// TaskHandler also tracks the amount of tasks created, and the amount of tasks marked completed.
private TaskHandler taskHandler;
private JFrame frame = new JFrame();
- private JButton btnNewStudyTask, btnNewHomeTask, btnSort;
private JPanel menu;
private Dimension menuBar = new Dimension(50, 50);
- private Dimension window = new Dimension(450, 500);
+ private Dimension window = new Dimension(600, 500);
+ private Map<String, JButton> buttons = new HashMap<String, JButton>();
/*
* Initialize the GUI using Swing
@@ -26,43 +29,51 @@ public class GUI implements ActionListener {
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);
- btnNewStudyTask = new JButton("Add StudyTask");
- btnNewStudyTask.addActionListener(this);
- menu.add(btnNewStudyTask);
-
- btnNewHomeTask = new JButton("Add HomeTask");
- btnNewHomeTask.addActionListener(this);
- menu.add(btnNewHomeTask);
-
- btnSort = new JButton("Sort");
- btnSort.addActionListener(this);
- menu.add(btnSort);
+ createButton("study", "New StudyTask");
+ createButton("home", "New HomeTask");
+ createButton("work", "New WorkTask");
+ createButton("sort", "Sort");
frame.add(menu, BorderLayout.NORTH);
taskHandler = new TaskHandler();
frame.add(taskHandler.GetScrollPane());
frame.add(taskHandler.GetTaskProgress(), BorderLayout.SOUTH);
- }
+
+ frame.setVisible(true);
+ }
+
+ /*
+ *
+ */
+ private void createButton(String key, String btnText) {
+ buttons.put(key, new JButton(btnText)); //Create new button and add to Map using key value
+ buttons.get(key).addActionListener(this); //add actionlistener to button
+ menu.add(buttons.get(key)); // add button to GUI
+ }
@Override
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == btnSort){
+ public void actionPerformed(ActionEvent e) {
+
+ if (e.getSource() == buttons.get("work")) {
+ System.out.println("Test worked");
+ }
+
+ if (e.getSource().equals(buttons.get("sort"))) {
taskHandler.Sort();
}
else {
Task t;
- if (e.getSource() == btnNewHomeTask) {
- t = new HomeTask();
+ if (e.getSource().equals(buttons.get("home"))) {
+ t = new HomeTask();
}
- else if (e.getSource() == btnNewStudyTask) {
+ else if (e.getSource().equals(buttons.get("study"))) {
t = new StudyTask();
}
else {