Skip to content

Commit c09f49c

Browse files
author
werwolf2303
committed
RAM usage improvements
1 parent d4e889d commit c09f49c

13 files changed

Lines changed: 423 additions & 433 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<dependency>
2020
<groupId>commons-io</groupId>
2121
<artifactId>commons-io</artifactId>
22-
<version>2.11.0</version>
22+
<version>2.14.0</version>
2323
</dependency>
2424
<dependency>
2525
<groupId>org.json</groupId>

src/main/java/com/spotifyxp/deps/xyz/gianlu/librespot/player/PlayerDefine.java

Lines changed: 0 additions & 73 deletions
This file was deleted.

src/main/java/com/spotifyxp/dialogs/ErrorDisplay.java

Lines changed: 74 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -37,76 +37,81 @@
3737
public class ErrorDisplay {
3838
public static ArrayList<ExceptionDialog> errorQueue;
3939
public static ErrorDisplayPanel errorDisplayPanel;
40-
public static JScrollPane errorDisplayScrollPane;
41-
public static DefTable errorDisplayTable;
42-
public static ContextMenu errorDisplayContextMenu;
43-
public static JButton removeButton;
4440

45-
private JFrame frame;
41+
private Ui ui;
4642

47-
public ErrorDisplay() {
48-
errorDisplayPanel = new ErrorDisplayPanel();
43+
public static class Ui extends JFrame {
44+
public static JScrollPane errorDisplayScrollPane;
45+
public static DefTable errorDisplayTable;
46+
public static ContextMenu errorDisplayContextMenu;
47+
public static JButton removeButton;
4948

50-
errorDisplayTable = new DefTable();
51-
errorDisplayTable.setModel(new DefaultTableModel(new Object[][]{}, new String[]{""}));
52-
errorDisplayTable.addMouseListener(new AsyncMouseListener(new MouseAdapter() {
53-
@Override
54-
public void mouseClicked(MouseEvent e) {
55-
super.mouseClicked(e);
56-
if (SwingUtilities.isRightMouseButton(e)) return;
57-
if (e.getClickCount() == 2) {
58-
if(errorDisplayTable.getSelectedRow() == -1) return;
59-
errorQueue.get(errorDisplayTable.getSelectedRow()).openReal();
49+
public Ui() {
50+
errorDisplayTable = new DefTable();
51+
errorDisplayTable.setModel(new DefaultTableModel(new Object[][]{}, new String[]{""}));
52+
errorDisplayTable.addMouseListener(new AsyncMouseListener(new MouseAdapter() {
53+
@Override
54+
public void mouseClicked(MouseEvent e) {
55+
super.mouseClicked(e);
56+
if (SwingUtilities.isRightMouseButton(e)) return;
57+
if (e.getClickCount() == 2) {
58+
if(errorDisplayTable.getSelectedRow() == -1) return;
59+
errorQueue.get(errorDisplayTable.getSelectedRow()).openReal();
60+
}
6061
}
61-
}
62-
}));
63-
64-
errorDisplayScrollPane = new JScrollPane();
65-
errorDisplayScrollPane.setViewportView(errorDisplayTable);
66-
67-
errorDisplayContextMenu = new ContextMenu(errorDisplayTable, null, getClass());
68-
errorDisplayContextMenu.addItem(PublicValues.language.translate("ui.general.copy"), () -> ClipboardUtil.set(errorQueue.get(errorDisplayTable.getSelectedRow()).getAsFormattedText()));
69-
errorDisplayContextMenu.addItem(PublicValues.language.translate("ui.general.remove"), () -> {
70-
errorQueue.remove(errorDisplayTable.getSelectedRow());
71-
errorDisplayPanel.setText(String.valueOf(errorQueue.size()));
72-
((DefaultTableModel) errorDisplayTable.getModel()).removeRow(errorDisplayTable.getSelectedRow());
73-
if (errorDisplayTable.getModel().getRowCount() == 0) {
62+
}));
63+
64+
errorDisplayScrollPane = new JScrollPane();
65+
errorDisplayScrollPane.setViewportView(errorDisplayTable);
66+
67+
errorDisplayContextMenu = new ContextMenu(errorDisplayTable, null, getClass());
68+
errorDisplayContextMenu.addItem(PublicValues.language.translate("ui.general.copy"), () -> ClipboardUtil.set(errorQueue.get(errorDisplayTable.getSelectedRow()).getAsFormattedText()));
69+
errorDisplayContextMenu.addItem(PublicValues.language.translate("ui.general.remove"), () -> {
70+
errorQueue.remove(errorDisplayTable.getSelectedRow());
71+
errorDisplayPanel.setText(String.valueOf(errorQueue.size()));
72+
((DefaultTableModel) errorDisplayTable.getModel()).removeRow(errorDisplayTable.getSelectedRow());
73+
if (errorDisplayTable.getModel().getRowCount() == 0) {
74+
errorDisplayPanel.setVisible(false);
75+
}
76+
});
77+
78+
removeButton = new JButton(PublicValues.language.translate("ui.errorqueue.clear"));
79+
removeButton.addActionListener(new AsyncActionListener(e1 -> {
80+
errorQueue.clear();
81+
((DefaultTableModel) errorDisplayTable.getModel()).setRowCount(0);
7482
errorDisplayPanel.setVisible(false);
75-
}
76-
});
83+
}));
84+
}
7785

78-
removeButton = new JButton(PublicValues.language.translate("ui.errorqueue.clear"));
79-
removeButton.addActionListener(new AsyncActionListener(e1 -> {
80-
errorQueue.clear();
86+
@Override
87+
public void open() {
8188
((DefaultTableModel) errorDisplayTable.getModel()).setRowCount(0);
82-
errorDisplayPanel.setVisible(false);
83-
}));
84-
}
89+
for (ExceptionDialog exd : errorQueue) {
90+
((DefaultTableModel) errorDisplayTable.getModel()).addRow(new Object[]{exd.getPreview()});
91+
}
8592

86-
public void open() {
87-
((DefaultTableModel) errorDisplayTable.getModel()).setRowCount(0);
88-
for (ExceptionDialog exd : errorQueue) {
89-
((DefaultTableModel) errorDisplayTable.getModel()).addRow(new Object[]{exd.getPreview()});
93+
setTitle(PublicValues.language.translate("ui.errorqueue.title"));
94+
add(removeButton, BorderLayout.SOUTH);
95+
setPreferredSize(new Dimension(ContentPanel.frame.getWidth() / 2, ContentPanel.frame.getHeight() / 2));
96+
add(errorDisplayTable, BorderLayout.CENTER);
97+
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
98+
addWindowListener(new WindowAdapter() {
99+
@Override
100+
public void windowClosing(WindowEvent e) {
101+
close();
102+
}
103+
});
104+
105+
super.open();
106+
}
107+
108+
public void close() {
109+
dispose();
90110
}
91-
frame = new JFrame();
92-
frame.setTitle(PublicValues.language.translate("ui.errorqueue.title"));
93-
frame.add(removeButton, BorderLayout.SOUTH);
94-
frame.setPreferredSize(new Dimension(ContentPanel.frame.getWidth() / 2, ContentPanel.frame.getHeight() / 2));
95-
frame.add(errorDisplayTable, BorderLayout.CENTER);
96-
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
97-
frame.addWindowListener(new WindowAdapter() {
98-
@Override
99-
public void windowClosing(WindowEvent e) {
100-
close();
101-
}
102-
});
103-
frame.pack();
104-
frame.setVisible(true);
105111
}
106112

107-
public void close() {
108-
frame.dispose();
109-
frame = null;
113+
public ErrorDisplay() {
114+
errorDisplayPanel = new ErrorDisplayPanel();
110115
}
111116

112117
public static class ErrorDisplayPanel extends JButton {
@@ -149,6 +154,16 @@ public void setText(String text) {
149154
}
150155
}
151156

157+
public void open() {
158+
this.ui = new Ui();
159+
this.ui.open();
160+
}
161+
162+
public void close() {
163+
this.ui.close();
164+
this.ui = null;
165+
}
166+
152167
public JButton getDisplayPanel() {
153168
return errorDisplayPanel;
154169
}

0 commit comments

Comments
 (0)