import java.awt.BorderLayout;
import java.awt.Color;
+import java.awt.Component;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.FocusEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
-import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
}
@Override
- public void popupRequested(GuiReaderBook book, MouseEvent e) {
+ public void popupRequested(GuiReaderBook book,
+ Component target, int x, int y) {
}
@Override
books.get(previousIndex).setSelected(false);
}
- if (index >= 0) {
+ if (index >= 0 && !books.isEmpty()) {
books.get(index).setSelected(true);
}
}
*/
private void onKeyTyped(KeyEvent e) {
boolean consumed = false;
- if (e.getKeyChar() == '\n') {
+ boolean action = e.getKeyChar() == '\n';
+ boolean popup = e.getKeyChar() == ' ';
+ if (action || popup) {
consumed = true;
int index = getSelectedBookIndex();
if (index >= 0) {
- books.get(index).action();
+ GuiReaderBook book = books.get(index);
+ if (action) {
+ book.action();
+ } else if (popup) {
+ book.popup(book, book.getWidth() / 2, book.getHeight() / 2);
+ }
}
}