OOP-Projects-Java

Log | Files | Refs | README

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:
MOOP2023_a22willi_a21liltr_assignment2/src/assignment2/GUI.java | 51+++++++++++++++++++++++++++++++--------------------
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 {