blob: 8c3964e8800c888ea61d66feab22d72ed0b843aa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
package UI;
import Client.Book;
import Client.SocketClient;
import UI.Components.BooksList;
import UI.Components.LoginPanel;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import javax.swing.*;
import java.awt.*;
import java.net.Socket;
public class MainWindow extends JFrame {
public static String url = "http://localhost:8080";
public static int userId = 0;
public MainWindow() {
this.setTitle("User Panel - Library Management System");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(650, 500);
this.setResizable(false);
this.setLocationRelativeTo(null);
CardLayout cardLayout = new CardLayout();
JPanel cardPanel = new JPanel(cardLayout);
LoginPanel loginPanel = new LoginPanel();
loginPanel.loginButton.addActionListener(e -> {
new SocketClient(url);
SocketClient.socket.connect();
SocketClient.socket.emit("login",
"{" +
"\"userName\": \"" + loginPanel.usernameInput.getValue() + "\"," +
"\"password\": \"" + loginPanel.passwordInput.getValue() + "\"" +
"}");
SocketClient.socket.on("loggedIn", data -> {
MainWindow.userId = (int) data[0];
SocketClient.socket.on("allBooksList", d -> {
try {
BooksList.refreshBooks(Book.fromObjects(d));
} catch (JSONException ex) {
throw new RuntimeException(ex);
}
});
SocketClient.socket.on("booksUpdated", d -> {
try {
BooksList.refreshBooks(Book.fromObjects(d));
} catch (JSONException ex) {
throw new RuntimeException(ex);
}
});
SocketClient.socket.emit("getAllBooks");
cardLayout.next(cardPanel);
});
});
cardPanel.add(loginPanel);
cardPanel.add(new BooksList());
this.add(cardPanel);
}
}
|