aboutsummaryrefslogtreecommitdiff
path: root/src/main/ui
diff options
context:
space:
mode:
authorYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 11:57:29 -0800
committerYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 11:57:29 -0800
commite13adbb9a9146dd5ece890449e3cad958a502f86 (patch)
tree735def53883095ed1f2318a6acc3fc265e818945 /src/main/ui
parentd8f2ae5798aaf6dd20c1fd0a2bfedb472308a606 (diff)
downloadjca-e13adbb9a9146dd5ece890449e3cad958a502f86.tar
jca-e13adbb9a9146dd5ece890449e3cad958a502f86.tar.gz
jca-e13adbb9a9146dd5ece890449e3cad958a502f86.tar.bz2
jca-e13adbb9a9146dd5ece890449e3cad958a502f86.zip
Phase 4: Task 2
Signed-off-by: Yuuta Liang <yuutaw@student.cs.ubc.ca>
Diffstat (limited to 'src/main/ui')
-rw-r--r--src/main/ui/Main.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/ui/Main.java b/src/main/ui/Main.java
index ab275c1..4dbcea1 100644
--- a/src/main/ui/Main.java
+++ b/src/main/ui/Main.java
@@ -1,18 +1,41 @@
package ui;
import com.formdev.flatlaf.FlatIntelliJLaf;
+import model.EventLog;
import javax.swing.*;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.util.Spliterator;
+import java.util.Spliterators;
+import java.util.stream.StreamSupport;
public class Main {
public static void main(String[] args) throws Throwable {
if (args.length >= 1 && args[0].equals("-c")) {
new JCA().run();
+ printLogs();
} else {
FlatIntelliJLaf.setup();
final JFrame frame = new MainUI();
frame.pack();
+ frame.addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent e) {
+ printLogs();
+ }
+ });
frame.setVisible(true);
}
}
+
+ /**
+ * EFFECTS: Print logs to stdout, separated by LF, in the format of "date - descr".
+ */
+ private static void printLogs() {
+ StreamSupport.stream(Spliterators.spliteratorUnknownSize(EventLog.getInstance().iterator(),
+ Spliterator.ORDERED), false)
+ .map(e -> String.format("%s - %s", e.getDate(), e.getDescription()))
+ .forEach(System.out::println);
+ }
}