⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 welcome.java

📁 最强手机阅读器Anyview3.0版的界面代码
💻 JAVA
字号:
package com.ismyway.anyview.win;

import java.util.Calendar;
import java.util.Random;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Graphics;

import com.ismyway.anyview.Anyview;
import com.ismyway.anyview.others.Configure;
import com.ismyway.anyview.others.Settings;
import com.ismyway.fairyui.Component;
import com.ismyway.fairyui.Handset;
import com.ismyway.fairyui.HyperLink;
import com.ismyway.fairyui.MenuItem;
import com.ismyway.fairyui.NewLine;
import com.ismyway.fairyui.Panel;
import com.ismyway.fairyui.PopMenu;
import com.ismyway.fairyui.Row;
import com.ismyway.fairyui.StringItem;
import com.ismyway.fairyui.TextBlock;
import com.ismyway.util.ArrayList;
import com.ismyway.util.RcLoader;
import com.ismyway.util.Res;
import com.ismyway.util.Theme;

public class Welcome extends Panel {
	private int timer = 0;
	private int shortcutIndex = 0;
	MenuItem[] mainmenu;
	
	public static MenuItem miSystemPath = new MenuItem(Res.get("System") + Res.get("Path")); //系统路径
	public static MenuItem miEmpty = new MenuItem(Res.get("Empty")); //清空
	public static MenuItem miOpen = new MenuItem(Res.get("Open")); //打开
	public static MenuItem miClose = new MenuItem(Res.get("Close")); //关闭
	public static MenuItem miShare = new MenuItem(Res.get("Share")); //分享
	public static MenuItem miEnable = new MenuItem(Res.get("Enable")); //允许
	public static MenuItem miDisable = new MenuItem(Res.get("Disable")); //禁止
	public static MenuItem miFitScreen = new MenuItem(Res.get("Fit Screen")); //合适屏幕大小

	public Welcome() {
		String version = Handset.getAppProperty("MIDlet-Version");
		version = version == null ? "?.?.?" : version;
		setTitle("Anyview " + version);
		setCommandListener(this);

		initMenu();
		initContent();
	}
	
	private void changeLanguage() {
		miSystemPath = new MenuItem(Res.get("System") + Res.get("Path")); //系统路径
		miEmpty = new MenuItem(Res.get("Empty")); //清空
		miOpen = new MenuItem(Res.get("Open")); //打开
		miClose = new MenuItem(Res.get("Close")); //关闭
		miShare = new MenuItem(Res.get("Share")); //分享
		miEnable = new MenuItem(Res.get("Enable")); //允许
		miDisable = new MenuItem(Res.get("Disable")); //禁止
		miFitScreen = new MenuItem(Res.get("Fit Screen")); //合适屏幕大小
		
		initMenu();
	}
	
	public void initMenu() {
		MenuItem[][] submenus = {
				{ 
					new MenuItem(Res.get("Preference")), 
					new MenuItem(Res.get("Color")), 
					new MenuItem(Res.get("Reader")),
					new MenuItem(Res.get("System")), 
				},
				{ 
					new MenuItem(Res.get("Chinese")), 
					new MenuItem(Res.get("Chinese_TW")), 
					new MenuItem(Res.get("English")), 
					new MenuItem(Res.get("Russian")), 
				} 
		};

		mainmenu = new MenuItem[] {
				new MenuItem(Res.get("History")), 
				miOpen,
				new MenuItem(Res.get("Setup"), submenus[0]), 
				new MenuItem(Res.get("Language"), submenus[1]), 
				new MenuItem(Res.get("Search")),
				new MenuItem(Res.get("Help")),
				new MenuItem(Res.get("About")), 
				new MenuItem(Res.get("Exit")) 
		};

		PopMenu menu = new PopMenu(this, mainmenu);
		addCommand(new Command(Res.get("Menu"), Command.OK, 1), menu);
	}

	public void afterActive() {
	}

	public void reActive() {
		super.reActive();
		initContent();
		validate();
	}

	private void initContent() {
		shortcutIndex = 0;
		int counter = 0;
		clear();
		//是否访问过文件系统
		if ("".equals(Configure.lastOpenDir) || "/".equals(Configure.lastOpenDir)) {
			counter++;
			Row row = new Row();
			row.add(new TextBlock(Res.get("First"), true));
			row.add(new HyperLink(Res.get("Reader") + Res.get("Help"), Res.get("Help")));
			row.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
			add(row);
		}

		//阅读历史
		

		//更换主题
		if (true || !Anyview.hasPointerEvents) {
			counter++;
			Row row = new Row();
			row.add(new TextBlock(Res.get("How Are You"), true));
			row.add(new HyperLink(Res.get("Change Theme"), Res.get("Change Theme")));
			add(row);
		}
		
		if (counter < 2) { //没什么可显示的时候,随便显示点什么
			RcLoader rc = new RcLoader("/dictum.rc");
			String t = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
			int index = new Random(System.currentTimeMillis()).nextInt(t.length());
			String key = "" + t.charAt(index);
			String value = rc.get(key);
			while(key.equals(value) && counter++ < 10) {
				index = new Random(System.currentTimeMillis()).nextInt(t.length());
				value = rc.get(key);
			}
			if (!key.equals(value)) {
				Row row = new Row();
				row.add(new NewLine(5));
				row.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
				row.add(new TextBlock(value));
				add(row);
			}
			rc.clear();
			rc = null;
		}
	}

	private String getFilename(String fullpath) {
		int index = fullpath.lastIndexOf('/');
		if (index == -1) {
			return fullpath;
		}

		return fullpath.substring(index + 1);
	}

	public void commandAction(Command cmd, Component c) {
		String str = cmd.getLabel();
		if (str.equals(Res.get("Change Theme"))) {
			Configure.themeName = Theme.loadRandTheme();
		} else if (str.equals("")) {

		} else if (str.equals(Res.get("Help"))) {
			mainCanvas.showPopup(new Readme(new ArrayList(), null, (byte) 0), Settings.ANIMATE_DOWN);
		} else if (str.equals(Res.get("More"))) {
			
		}

		if (c instanceof StringItem) {
			
		}
	}

	public void callback(Component component, Command cmd, Object[] parameters) {
		String func = cmd.getLabel();
		System.out.println(func);
		if (func.equals(Res.get("Exit"))) {
			mainCanvas.destroy();
			Anyview.exit();
		} else if (func.equals(Res.get("System"))) {
			mainCanvas.showPopup(new SysSet(), Settings.ANIMATE_LEFT);
		} else if (func.equals(Res.get("Open"))) {
			mainCanvas.showPopup(new FileExplorer(null, null), Settings.ANIMATE_UP);
		} else if (func.equals(Res.get("About"))) {
			mainCanvas.showPopup(new About(), Settings.ANIMATE_RIGHT);
		} else if (func.equals(Res.get("Reader"))) {
			mainCanvas.showPopup(new ReaderSetting(), Settings.ANIMATE_RIGHT);
		} else if (func.equals(Res.get("History"))) {

		} else if (func.equals(Res.get("Help"))) {
			mainCanvas.showPopup(new Readme(new ArrayList(), null, (byte) 0), Settings.ANIMATE_DOWN);
		} else if (func.equals(Res.get("Color"))) {
			mainCanvas.showPopup(new Color(), Settings.ANIMATE_DOWN);
		} else if (func.equals(Res.get("Preference"))) {
			mainCanvas.showPopup(new Profile(), Settings.ANIMATE_RIGHT);
		} else if (func.equals(Res.get("Search"))) {
			mainCanvas.showPopup(new SearchByNet(), Settings.ANIMATE_DOWN);
		} else if (func.equals(Res.get("Chinese"))) {
			Configure.language = "zh.rc";
			Res.reload();
			changeLanguage();
			reActive();
		} else if (func.equals(Res.get("English"))) {
			Configure.language = "en.rc";
			Res.reload();
			changeLanguage();
			reActive();
		} else if (func.equals(Res.get("Chinese_TW"))) {
			Configure.language = "tw.rc";
			Res.reload();
			changeLanguage();
			reActive();
		} else if (func.equals(Res.get("Russian"))) {
			Configure.language = "ru.rc";
			Res.reload();
			changeLanguage();
			reActive();
		} 
	}

	public boolean isAnimated() {
		super.isAnimated();
		return true;
	}

	public boolean clock() {
		boolean repaint = super.clock();
		if (repaint) {
			return repaint;
		}

		Calendar calendar = Calendar.getInstance();
		int hour = calendar.get(Calendar.HOUR);
		int min = calendar.get(Calendar.MINUTE);
		int sec = calendar.get(Calendar.SECOND);
		int pm = calendar.get(Calendar.AM_PM);
		hour = (pm == 1) ? hour + 12 : hour;

		StringBuffer sb = new StringBuffer();
		sb.append((hour < 10) ? "0" : "");
		sb.append(hour).append(":");
		sb.append((min < 10) ? "0" : "").append(min);
		sb.append(":").append((sec < 10) ? "0" : "").append(sec);

		String str = null;
		if (rightCmd != null) {
			if (timer++ < 50) {
				str = rightCmd.getLabel();
			} else {
				str = sb.toString();
			}
		} else {
			str = sb.toString();
		}

		if (rightString.equals(sb.toString())) {
			return false;
		}

		rightString = str;
		if (timer > 100) {
			timer = 0;
		}
		return true;
	}
	
	public int getNextShortcut() {
		if (shortcutIndex > shortcutList.length) {
			return Settings.VKEY_RELEASE;
		}
		return shortcutList[shortcutIndex++];
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -