Skip to content

Commit b51e3d3

Browse files
Fixed a WindowListener bug. The user must make sure to close the edit page to update the main page now.
1 parent 8677798 commit b51e3d3

File tree

6 files changed

+21
-8
lines changed

6 files changed

+21
-8
lines changed

src/data/FlashcardSets.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ title,description,isPrivate,flashcardSetId,ownerUsername,flashcardIds
22
test set 1,for testing study use case,false,0,testUser,0,1,2,3
33
empty test set,for testing study use case with empty set,true,1,testUser
44
Long Test Set,Insert Generic Description,false,2,Anthony,10,11,12,13,14,15,16,17,18,19,20,21
5+
Test 1,Test,false,3,tomomot,22

src/data/Flashcards.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ Term I,Definition I,2022-11-13T15:32:29.666982800,18,2
1515
Term J,Definition J,2022-11-13T15:32:29.666982800,19,2
1616
Same Term,Same Definition,2022-11-13T15:32:29.666982800,20,2
1717
Same Term,Same Definition,2022-11-13T15:32:29.666982800,21,2
18+
term1,definition 1,2022-12-03T21:26:20.070806900,22,3

src/main/java/frameworks_and_drivers/components/FlashcardDataPanel.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,16 @@ else if(event.getActionCommand().equals("Delete Flashcard")){
7070
@Override
7171
public void windowOpened(WindowEvent e) {}
7272
@Override
73-
public void windowClosing(WindowEvent e) {
73+
public void windowClosing(WindowEvent e) {}
74+
@Override
75+
public void windowClosed(WindowEvent e) {
7476
//When observing a window close we refresh the page.
7577
frame.dispose();
76-
new EditorMainScreen(flashcardSetId);
78+
WindowListener wl = frame.getWindowListeners()[0];
79+
EditorMainScreen editor = new EditorMainScreen(flashcardSetId);
80+
editor.addWindowListener(wl);
7781
}
7882
@Override
79-
public void windowClosed(WindowEvent e) {}
80-
@Override
8183
public void windowIconified(WindowEvent e) {}
8284
@Override
8385
public void windowDeiconified(WindowEvent e) {}

src/main/java/frameworks_and_drivers/components/FlashcardSetDataPanel.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import javax.swing.*;
2121
import javax.swing.border.Border;
22+
import java.awt.event.WindowAdapter;
2223
import java.awt.event.WindowEvent;
2324
import java.awt.event.WindowListener;
2425

@@ -71,7 +72,11 @@ public FlashcardSetDataPanel(String title, String description,
7172
// Action listeners for edit, study, test, and delete buttons.
7273
edit.addActionListener((e) -> {
7374
EditorMainScreen editor = new EditorMainScreen(flashcardSetId);
74-
editor.addWindowListener(this);
75+
editor.addWindowListener(new WindowAdapter() {
76+
public void windowClosing(WindowEvent event) {
77+
home.refresh();
78+
}
79+
});
7580
});
7681

7782
study.addActionListener(e -> {

src/main/java/frameworks_and_drivers/components/ListOfFlashcardsDataPanel.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ public ListOfFlashcardsDataPanel(DBGateway dbGateway, List<FlashcardDsRequestMod
9696
public void actionPerformed(ActionEvent event) {
9797
if(event.getActionCommand().equals("Refresh")){
9898
int flashcardSetId = flashcardSet.getFlashcardSetId();
99-
new EditorMainScreen(flashcardSetId);
10099
frame.dispose();
100+
WindowListener wl = frame.getWindowListeners()[0];
101+
EditorMainScreen editor = new EditorMainScreen(flashcardSetId);
102+
editor.addWindowListener(wl);
101103
} else if(event.getActionCommand().equals("Add Flashcard")){
102104
JFrame fcCreatePage = new CreateFlashcardScreen(flashcardSet.getFlashcardSetId());
103105
fcCreatePage.addWindowListener(this);
@@ -114,8 +116,11 @@ public void windowClosing(WindowEvent e) {}
114116
@Override
115117
public void windowClosed(WindowEvent e) {
116118
//When observing a window close we refresh the page
119+
int flashcardSetId = flashcardSet.getFlashcardSetId();
117120
frame.dispose();
118-
new EditorMainScreen(flashcardSet.getFlashcardSetId());
121+
WindowListener wl = frame.getWindowListeners()[0];
122+
EditorMainScreen editor = new EditorMainScreen(flashcardSetId);
123+
editor.addWindowListener(wl);
119124
}
120125
@Override
121126
public void windowIconified(WindowEvent e) {}

src/main/java/frameworks_and_drivers/screens/EditorMainScreen.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,5 @@ public EditorMainScreen(int flashcardSetId){
5858
this.setTitle("Edit Set \"" + flashcardSet.getTitle() + "\"");
5959
this.setSize(1000, 800);
6060
this.setVisible(true);
61-
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
6261
}
6362
}

0 commit comments

Comments
 (0)