-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReader.java
More file actions
66 lines (49 loc) · 1.64 KB
/
Reader.java
File metadata and controls
66 lines (49 loc) · 1.64 KB
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
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class Reader extends JFrame implements KeyListener {
private Manga book;
private int totalPages = 0;
private int currentPage = 1;
private Page pageImage = null;
public Reader(Manga book) {
this.book = book;
totalPages = book.length();
Toolkit tooklit = Toolkit.getDefaultToolkit();
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
updateTitle();
setSize(1280, (int)tooklit.getScreenSize().getHeight());
try {
pageImage = new Page(book.getPage(currentPage));
} catch (Exception e) {
e.printStackTrace();
}
setLayout(new BorderLayout());
add(pageImage, BorderLayout.CENTER);
}
private void updateTitle() {
setTitle(book.getName() + " - Page " + currentPage + " of " + totalPages);
}
public void run() {
addKeyListener(this);
setVisible(true);
}
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {
boolean isRight = e.getKeyCode() == KeyEvent.VK_RIGHT || e.getKeyCode() == KeyEvent.VK_D;
boolean isLeft = e.getKeyCode() == KeyEvent.VK_LEFT || e.getKeyCode() == KeyEvent.VK_A;
if(isRight && currentPage + 1 < totalPages) {
currentPage += 1;
pageImage.updatePage(book.getPage(currentPage));
}
if(isLeft && currentPage - 1 > 0) {
currentPage -= 1;
pageImage.updatePage(book.getPage(currentPage));
}
if (pageImage != null) {
pageImage.repaint();
}
updateTitle();
}
public void keyReleased(KeyEvent e) {}
}