📄 splashcanvas.java
字号:
if (showMenu) {
if (currentWindow == null) { //当前没有打开菜单项窗口
menu.keyFire();
switch (menu.getSelectedIndex()) {
case 0: //打开文件
openFile = null;
currentWindow = null;
openFile = new FileSelector("打开文件", itemFiles,
realFiles);
currentWindow = openFile;
break;
case 1: //字体大小
fontSize = null;
currentWindow = null;
fontSize = new Selector("请使用:", itemFonts);
currentWindow = fontSize;
break;
case 2: //文字颜色
colorSelector = null;
currentWindow = null;
colorSelector = new ColorSelector();
currentWindow = colorSelector;
break;
case 3: //背景颜色
colorSelector = null;
currentWindow = null;
colorSelector = new ColorSelector();
currentWindow = colorSelector;
break;
case 4: //行 间 距
lineSpace = null;
currentWindow = null;
lineSpace = new Selector("将行间距设为:", itemLineSpace);
currentWindow = lineSpace;
break;
case 5: //阅读方式
readType = null;
currentWindow = null;
readType = new Selector("我喜欢:", itemReadType);
currentWindow = readType;
break;
case 6: //翻页设置
flipMethod = null;
currentWindow = null;
flipMethod = new Selector("翻页时,", itemFlip);
currentWindow = flipMethod;
break;
case 7: //自动翻页
autoFlip = null;
currentWindow = null;
autoFlip = new Selector("自动翻页时间间隔:", itemAutoFlip);
currentWindow = autoFlip;
break;
case 8: //使用说明
break;
case 9: //退出程序
destroy();
AnyView.av.exit();
break;
}
} else { //交由当前窗口处理
currentWindow.keyFire();
if (menu.getSelectedIndex() == 0) {
FileSelector fs = (FileSelector) currentWindow;
int i = fs.getSelectedIndex();
destroy();
AnyView.av.switchIav(realFiles[i]);
return;
}
}
} else {
showMenu = true;
menu = null;
menu = new Menu(items);
}
}
}*/
//根据屏幕方式映射按键
private int mapKey(int keyCode) {
if (AnyView.readType == 1) { //横屏
switch (keyCode) {
case -1: //up
return -4; //right
case -2: //down
return -3; //left
case -3: //left
return -1; //up
case -4: //right
return -2; //down
}
}
return keyCode;
}
protected void pointerPressed(int x, int y) {
if (currentWindow == null) { //处理菜单事件
menu.pointerPressed(x, y);
} else {
//System.out.println("currentWindow.pointerPressed(x, y);");
startTime = System.currentTimeMillis();
currentWindow.pointerPressed(x, y);
}
repaint();
}
protected void pointerDragged(int x, int y) {
}
protected void pointerReleased(int x, int y) {
if (message.getWindowState() == AbstractWindow.OPENING) {
message.setWindowState(AbstractWindow.HIDE);
repaint();
return;
}
if (currentWindow == null) { //处理菜单事件
menu.pointerReleased(x, y);
if (menu.getTouchEvent()) { //有效事件
if (menu.getSelectedIndex() != 8) {
openSubWindow(menu.getSelectedIndex());
} else { //退出程序
saveRec();
destroy();
AnyView.av.exit();
return;
}
} else { //重设菜单位置
//menu.setLocation(x, y);
}
} else {
currentWindow.pointerReleased(x, y);
if (currentWindow.getTouchEvent()) {
switch (menu.getSelectedIndex()) {
case 0: //历史文件
openHistory(System.currentTimeMillis() - startTime);
break;
case 1: //打开文件
openFiles();
return;
case 2: //字体大小
setFontSize();
break;
case 3: //文字颜色
setFontColor();
break;
case 4: //背景颜色
setBackColor();
break;
case 5: //行 间 距
setLineSpace();
break;
case 6: //阅读方式
setReadType();
break;
case 7: //使用说明
readme();
break;
}
} else { //关闭当前的子窗口
//System.out.println("state = " + currentWindow.getWindowState());
if (currentWindow.getWindowState() == AbstractWindow.CLOSED) {
currentWindow = null;
System.gc();
showMenu = true;
}
}
}
repaint();
}
/**
* 处理菜单事件,打开子窗口
* @param index int
*/
private void openSubWindow(int index) {
switch (index) {
case 0: //历史文件
openHistory = null;
currentWindow = null;
System.gc();
openHistory = new Selector("阅读历史", itemFiles);
currentWindow = openHistory;
break;
case 1: //打开文件
openFile = null;
currentWindow = null;
System.gc();
openFile = new FileSelector(this);
currentWindow = openFile;
break;
case 2: //字体大小
fontSize = null;
currentWindow = null;
System.gc();
fontSize = new Selector("请使用:", itemFonts,
AnyView.fontSize);
currentWindow = fontSize;
break;
case 3: //文字颜色
colorSelector = null;
currentWindow = null;
System.gc();
colorSelector = new ColorSelector(AnyView.frontColor);
currentWindow = colorSelector;
break;
case 4: //背景颜色
colorSelector = null;
currentWindow = null;
System.gc();
colorSelector = new ColorSelector(AnyView.backColor);
currentWindow = colorSelector;
break;
case 5: //行 间 距
lineSpace = null;
currentWindow = null;
System.gc();
lineSpace = new Selector("将行间距设为:", itemLineSpace,
AnyView.lineSpace);
currentWindow = lineSpace;
break;
case 6: //阅读方式
readType = null;
currentWindow = null;
System.gc();
readType = new Selector("我喜欢:", itemReadType,
AnyView.readType);
currentWindow = readType;
break;
case 7: //使用说明
break;
case 8: //退出程序
break;
}
if (index == 7) {
showMenu = true;
} else {
showMenu = false;
}
}
private void openHistory(long time) {
//System.out.println(time);
if (openHistory.getWindowState() == AbstractWindow.OPENING) {
return;
}
/*for (int i = 0; i < allBookMarks.size(); i++) {
BookMark bm = (BookMark) allBookMarks.elementAt(i);
System.out.println(bm.getFilename());
}*/
int index = openHistory.getSelectedIndex();
String filename = realFiles[index];
if (time > 3000l) {
deleteHistory = true;
allBookMarks.removeElementAt(allBookMarks.size() - 1 - index);
openHistory = null;
currentWindow = null;
System.gc();
itemFiles = new String[allBookMarks.size()];
realFiles = new String[allBookMarks.size()];
int len = allBookMarks.size() - 1;
//反向显示历史文件列表
for (int i = len; i > -1; i--) {
BookMark ibm = (BookMark) allBookMarks.elementAt(i);
realFiles[len - i] = ibm.getFilename();
itemFiles[len -
i] = realFiles[len - i].substring(realFiles[len - i].
lastIndexOf('/') + 1);
}
openHistory = new Selector("阅读历史", itemFiles);
currentWindow = openHistory;
repaint();
return;
}
FileSystemReader fsr = new FileSystemReader(filename);
if (fsr.isDirectory() || !fsr.exists()) {
message.showMessage("错误", new String[] {"文件不存在!"});
return;
}
saveRec();
destroy();
if (filename.toLowerCase().endsWith(".iav")) {
AnyView.av.switchIav(filename);
} else if (filename.toLowerCase().endsWith(".txt")) {
AnyView.av.switchTxt(filename);
}
}
private void openFiles() {
}
private void setFontSize() {
if (fontSize.getWindowState() == AbstractWindow.OPENING) {
return;
}
AnyView.fontSize = fontSize.getSelectedIndex();
currentWindow.destroy();
currentWindow = null;
if (AnyView.fontSize != AnyView.cf.CurrentFontSize) {
AnyView.cf.setFontSize(AnyView.fontSize);
menu = null;
System.gc();
menu = new Menu(items);
showMenu = true;
}
}
private void setFontColor() {
if (colorSelector.getWindowState() == AbstractWindow.OPENING) {
return;
}
AnyView.frontColor = colorSelector.getSelectedIndex();
currentWindow.destroy();
currentWindow = null;
showMenu = true;
}
private void setBackColor() {
if (colorSelector.getWindowState() == AbstractWindow.OPENING) {
return;
}
AnyView.backColor = colorSelector.getSelectedIndex();
currentWindow.destroy();
currentWindow = null;
showMenu = true;
}
private void setLineSpace() {
if (lineSpace.getSelectedIndex() < 0) {
return;
}
AnyView.lineSpace = lineSpace.getSelectedIndex();
currentWindow.destroy();
currentWindow = null;
showMenu = true;
}
private void setReadType() {
if (readType.getSelectedIndex() < 0) {
return;
}
AnyView.readType = readType.getSelectedIndex();
currentWindow.destroy();
currentWindow = null;
menu = null;
System.gc();
menu = new Menu(items);
showMenu = true;
}
private void readme() {
showMenu = true;
}
void saveRec() {
if (!deleteHistory) {
return;
}
Record.deleteRecordStore("avbookmark");
Record record = new Record("avbookmark");
record.open();
for (int i = 0; i < allBookMarks.size() && i < 8; i++) { //将老的书签写入RMS
record.addRecord(((BookMark) allBookMarks.elementAt(i)).getBytes());
}
record.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -