diff --git a/src/main/java/de/dhsn/oop/Main.java b/src/main/java/de/dhsn/oop/Main.java index d28e671..a7d5554 100644 --- a/src/main/java/de/dhsn/oop/Main.java +++ b/src/main/java/de/dhsn/oop/Main.java @@ -16,7 +16,7 @@ public class Main { //initialize the state empty List listen = new ArrayList<>(); // try t ope nthe file and read json data if successful - try(JsonReader reader = new JsonReader(new FileReader(new File("./test.json")))) { + try(JsonReader reader = new JsonReader(new FileReader("./test.json"))) { Type listType = new TypeToken>(){}.getType(); Gson g = new Gson(); List temp = g.fromJson(reader, listType); @@ -26,8 +26,8 @@ public class Main { // ignore file not found --> probably first start and no file present } catch (IOException e) { throw new RuntimeException(e); - } ; + } //open the window with the data - MainWindow mw = new MainWindow(listen); + new MainWindow(listen); } } \ No newline at end of file diff --git a/src/main/java/de/dhsn/oop/data/TodoItem.java b/src/main/java/de/dhsn/oop/data/TodoItem.java index d36f9b2..c40787d 100644 --- a/src/main/java/de/dhsn/oop/data/TodoItem.java +++ b/src/main/java/de/dhsn/oop/data/TodoItem.java @@ -1,8 +1,5 @@ package de.dhsn.oop.data; -import javax.swing.*; -import java.awt.*; - public abstract class TodoItem{ public boolean done = false; public String title; diff --git a/src/main/java/de/dhsn/oop/ui/MainWindow.java b/src/main/java/de/dhsn/oop/ui/MainWindow.java index 49fc7e3..c479596 100644 --- a/src/main/java/de/dhsn/oop/ui/MainWindow.java +++ b/src/main/java/de/dhsn/oop/ui/MainWindow.java @@ -4,7 +4,6 @@ import de.dhsn.oop.data.TodoList; import de.dhsn.oop.ui.helpers.TodoListListModel; import javax.swing.*; -import javax.swing.event.ListDataListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.*; @@ -17,7 +16,6 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.List; -import java.util.Objects; public class MainWindow extends JFrame implements ActionListener, ListSelectionListener { private JButton addNewList; @@ -83,7 +81,7 @@ public class MainWindow extends JFrame implements ActionListener, ListSelectionL * callback function to be called with a title for a new list * this is called from NewListDialog when the user presses the save button * - * @param title + * @param title title to use for the new todolist * @return */ public void nldCallback(String title) { diff --git a/src/main/java/de/dhsn/oop/ui/NewListDialog.java b/src/main/java/de/dhsn/oop/ui/NewListDialog.java index 61464bf..704c445 100644 --- a/src/main/java/de/dhsn/oop/ui/NewListDialog.java +++ b/src/main/java/de/dhsn/oop/ui/NewListDialog.java @@ -1,12 +1,9 @@ package de.dhsn.oop.ui; -import de.dhsn.oop.data.TodoList; - import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.List; public class NewListDialog extends JFrame implements ActionListener { private JTextField input = new JTextField("TODO"); @@ -28,6 +25,10 @@ public class NewListDialog extends JFrame implements ActionListener { setVisible(true); } + /** + * save futton handler calling parent view update function and then closing window + * @param e the event to be processed + */ @Override public void actionPerformed(ActionEvent e) { mw.nldCallback(input.getText().strip()); diff --git a/src/main/java/de/dhsn/oop/ui/TodoItemPanel.java b/src/main/java/de/dhsn/oop/ui/TodoItemPanel.java index 8f80133..2ef618f 100644 --- a/src/main/java/de/dhsn/oop/ui/TodoItemPanel.java +++ b/src/main/java/de/dhsn/oop/ui/TodoItemPanel.java @@ -12,6 +12,7 @@ public class TodoItemPanel extends JPanel implements ActionListener { private TodoItem item; private TodoList list; private TodoListView view; + public TodoItemPanel(TodoItem i, TodoList l, TodoListView v){ item = i; list = l; @@ -33,11 +34,20 @@ public class TodoItemPanel extends JPanel implements ActionListener { setVisible(true); } + /** + * checkbox action listener for done state of item + * @param e the event to be processed + */ @Override public void actionPerformed(ActionEvent e) { item.setDone(((JCheckBox)(e.getSource())).isSelected()); } + /** + * delete item button callback function + * the current item has to be rmeoved from the list + * @param e + */ public void deletePressed(ActionEvent e) { list.getList().remove(item); view.forceRerender(); diff --git a/src/main/java/de/dhsn/oop/ui/TodoListView.java b/src/main/java/de/dhsn/oop/ui/TodoListView.java index b61a407..7327478 100644 --- a/src/main/java/de/dhsn/oop/ui/TodoListView.java +++ b/src/main/java/de/dhsn/oop/ui/TodoListView.java @@ -84,7 +84,8 @@ public class TodoListView extends JFrame { public void deleteButtonClicked(ActionEvent e){ mainWindow.deleteList(list); - forceRerender(); + setVisible(false); + dispose(); } public void addCallback(TextTodoItem item){