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

📄 profileset.java

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

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

import com.ismyway.anyview.others.Configure;
import com.ismyway.fairyui.Component;
import com.ismyway.fairyui.InputBlock;
import com.ismyway.fairyui.ListBox;
import com.ismyway.fairyui.ListElement;
import com.ismyway.fairyui.NewLine;
import com.ismyway.fairyui.Panel;
import com.ismyway.fairyui.Row;
import com.ismyway.fairyui.TextBlock;
import com.ismyway.fairyui.ValueChangeListener;
import com.ismyway.util.Res;
import com.ismyway.util.Theme;

public class ProfileSet extends Panel implements ValueChangeListener {
	private int oldProfileIndex = 0;

	InputBlock configureName = new InputBlock();
	//ListBox colorStyle = new ListBox(true);
	InputBlock lineSpace = new InputBlock(10, "" + Configure.linePadding, TextField.NUMERIC);
	InputBlock slipMenu = new InputBlock(10, "" + Configure.slipDistance, TextField.NUMERIC);
	InputBlock sensitivity = new InputBlock(10, "" + Configure.delayTime, TextField.NUMERIC);
	ListBox interFont = new ListBox(true);
	ListBox complexTheme = new ListBox(true);
	ListBox theme = new ListBox(true);
	ListBox animate = new ListBox(true);
	InputBlock pixelDelay = new InputBlock(10, "" + Configure.pixelScrollDelay, TextField.NUMERIC);
	InputBlock lineDelay = new InputBlock(10, "" + Configure.lineScrollDelay, TextField.NUMERIC);
	InputBlock pageDelay = new InputBlock(10, "" + Configure.pageScrollDelay, TextField.NUMERIC);
	ListBox reserveLineWhenTurnPage = new ListBox(true);
	ListBox underline = new ListBox(true);
	ListBox listRecycle = new ListBox(true);

	InputBlock fontColor1 = new InputBlock();
	InputBlock fontColor2 = new InputBlock();
	InputBlock backgroundColor = new InputBlock();
	InputBlock underlineColor = new InputBlock();
	//ListBox backgroundImage = new ListBox(true);
	ListBox colorShade = new ListBox(true);

	//InputBlock alpha = new InputBlock();

	public ProfileSet(int profileIndex) {
		this.oldProfileIndex = Configure.configureIndex;
		Configure.loadProfile(profileIndex);
		String[] names = Configure.getConfigureNames();
		configureName.setText(names[profileIndex]);
		setTitle(Res.get("Profile") + " - " + names[profileIndex]);

		//当前配置的名称
		Row row = new Row();
		row.add(new TextBlock(Res.get("Profile")));
		row.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		row.add(configureName);
		add(row);

		//用户的界面主题
		Row row6 = new Row();
		row6.add(new TextBlock(Res.get("Theme")));
		row6.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		add(row6);
		theme.add(new ListElement(Theme.themes[0], Configure.themeName.equals(Theme.themes[0])));
		theme.add(new ListElement(Theme.themes[1], Configure.themeName.equals(Theme.themes[1])));
		theme.add(new ListElement(Theme.themes[2], Configure.themeName.equals(Theme.themes[2])));
		theme.add(new ListElement(Theme.themes[3], Configure.themeName.equals(Theme.themes[3])));
		theme.add(new ListElement(Theme.themes[4], Configure.themeName.equals(Theme.themes[4])));
		theme.add(new ListElement(Theme.themes[5], Configure.themeName.equals(Theme.themes[5])));
		theme.add(new ListElement(Theme.themes[6], Configure.themeName.equals(Theme.themes[6])));
		theme.add(new ListElement(Theme.themes[7], Configure.themeName.equals(Theme.themes[7])));
		theme.add(new ListElement(Theme.themes[8], Configure.themeName.equals(Theme.themes[8])));
		theme.setItemListener(this);
		add(theme);

		//用户选择的系统字体路径,分别为0:点阵 1:小 2:中 3:大
		Row row2 = new Row();
		row2.add(new TextBlock(Res.get("Inter Font")));
		row2.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		add(row2);
		interFont.add(new ListElement(Res.get("Small Font"), Configure.innerFontIndex == 1));
		interFont.add(new ListElement(Res.get("Medium Font"), Configure.innerFontIndex == 2));
		interFont.add(new ListElement(Res.get("Large Font"), Configure.innerFontIndex == 3));
		interFont.setItemListener(this);
		add(interFont);

		//颜色设置
		Row rowColor = new Row();
		rowColor.add(new TextBlock(Res.get("Color") + Res.get("Setup")));
		rowColor.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		rowColor.add(new TextBlock(Res.get("Foreground Color"), true));
		fontColor1.setText(Integer.toHexString(Configure.fontColor1));
		rowColor.add(fontColor1);
		rowColor.add(new TextBlock(Res.get("Foreground Color2"), true));
		fontColor2.setText(Integer.toHexString(Configure.fontColor2));
		rowColor.add(fontColor2);
		rowColor.add(new TextBlock(Res.get("Background Color"), true));
		backgroundColor.setText(Integer.toHexString(Configure.backgroundColor));
		rowColor.add(backgroundColor);
		rowColor.add(new TextBlock(Res.get("Color Style"), true));
		add(rowColor);
		colorShade.add(new ListElement(Res.get("Trans Color"), !Configure.colorShade));
		colorShade.add(new ListElement(Res.get("Shade Color"), Configure.colorShade));
		add(colorShade);

		//用户定义的阅读背景图片
		/*Row rowBackImage = new Row();
		 rowBackImage.add(new TextBlock(Res.get("Background Image"), true));
		 rowBackImage.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		 add(rowBackImage);
		 backgroundImage.add(new ListElement(Res.get("Unload"), "1".equals(Configure.backgroundImage)));
		 backgroundImage.add(new ListElement(Res.get("Unload"), !"1".equals(Configure.backgroundImage)));
		 add(backgroundImage);*/

		//用户定义的阅读时的行间距及背景图片
		Row row3 = new Row();
		/*row3.add(new TextBlock("Alpha(0~255):", true));
		 alpha.setText("" + Configure.alpha);
		 row3.add(alpha);*/

		row3.add(new TextBlock(Res.get("Line Space"), true));
		row3.add(lineSpace);
		row3.add(new NewLine());
		row3.add(new TextBlock(Res.get("Slip Menu"), true));
		row3.add(slipMenu);
		row3.add(new NewLine());
		add(row3);

		//自动滚屏时的间隔时间
		Row row8 = new Row();
		row8.add(new TextBlock(Res.get("Scroll") + Res.get("Setup") + "(1/100ms)"));
		row8.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		row8.add(new TextBlock(Res.get("by Pixel")));
		row8.add(pixelDelay);
		row8.add(new NewLine());
		row8.add(new TextBlock(Res.get("by Line")));
		row8.add(lineDelay);
		row8.add(new NewLine());
		row8.add(new TextBlock(Res.get("by Page")));
		row8.add(pageDelay);
		row8.add(new NewLine());
		add(row8);

		Row row5 = new Row();
		row5.add(new TextBlock(Res.get("Theme Style")));
		row5.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		add(row5);
		complexTheme.add(new ListElement(Res.get("Plain"), !Theme.COMPLEX_THEME));
		complexTheme.add(new ListElement(Res.get("Complex") + Res.get("More Memory"), Theme.COMPLEX_THEME));
		complexTheme.setItemListener(this);
		add(complexTheme);

		Row row9 = new Row();
		row9.add(new TextBlock(Res.get("Reserve Line When TurnPage")));
		row9.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		add(row9);
		reserveLineWhenTurnPage.add(new ListElement(Res.get("Yes"), Configure.reserveLineWhenTurnPage));
		reserveLineWhenTurnPage.add(new ListElement(Res.get("No"), !Configure.reserveLineWhenTurnPage));
		add(reserveLineWhenTurnPage);

		Row row10 = new Row();
		row10.add(new TextBlock(Res.get("Show Under Line")));
		row10.add(new NewLine(1, new Integer(Theme.ComponentLight), Graphics.DOTTED));
		add(row10);
		underline.add(new ListElement(Res.get("Disable"), !Configure.showUnderline));
		underline.add(new ListElement(Res.get("Solid"), (Configure.showUnderline && !Configure.underlineDot)));
		underline.add(new ListElement(Res.get("Dotted"), (Configure.showUnderline && Configure.underlineDot)));
		add(underline);

		addCommand(new Command(Res.get("Save"), Command.OK, 1));
		addCommand(new Command(Res.get("Close"), Command.EXIT, 1));
	}

	public void commandAction(Command cmd, Component c) {
		String str = cmd.getLabel();
		if (str.equals(Res.get("Save"))) {
			try {
				//Configure.colorShade = colorStyle.getCheckedIndex() == 1;
				if (!"".equals(configureName.getText())) {
					Configure.configureName = configureName.getText();
				}
				Configure.themeName = theme.getCheckedItem().getText();
				Configure.innerFontIndex = (byte) interFont.getCheckedIndex() + 1;
				try {
					Configure.fontColor1 = Integer.parseInt(fontColor1.getText(), 16);
				} catch (Exception e) {
					e.printStackTrace();
					Configure.fontColor1 = 0;
				}
				try {
					Configure.fontColor2 = Integer.parseInt(fontColor2.getText(), 16);
				} catch (Exception e) {
					e.printStackTrace();
					Configure.fontColor2 = 0;
				}
				try {
					Configure.backgroundColor = Integer.parseInt(backgroundColor.getText(), 16);
				} catch (Exception e) {
					e.printStackTrace();
					Configure.backgroundColor = 0xFFFFFF;
				}
				Configure.colorShade = colorShade.getCheckedIndex() == 1;
				/*if (backgroundImage.getCheckedIndex() == 0) {
				 Configure.backgroundImage = "";
				 } else {
				 Configure.backgroundImage = backgroundImage.getCheckedItem().getText();
				 }
				 try {
				 int a = Integer.parseInt(alpha.getText());
				 a = a > 255 ? 255 : a;
				 a = a < 0 ? 0 : a;
				 Configure.alpha = (short) a;
				 } catch (Exception e) {
				 Configure.alpha = 255;
				 }*/
				try {
					int v = Integer.parseInt(lineSpace.getText());
					v = v < -2 ? -2 : v;
					v = v > 10 ? 10 : v;
					Configure.linePadding = v;
				} catch (Exception e) {
					Configure.linePadding = 4;
				}

				System.out.println("Configure.linePadding = " + Configure.linePadding);
				try {
					int v = Integer.parseInt(slipMenu.getText());
					Configure.slipDistance = v;
				} catch (Exception e) {
					Configure.slipDistance = 150;
				}
				try {
					Configure.pixelScrollDelay = Integer.parseInt(pixelDelay.getText());
				} catch (Exception e) {
					Configure.pixelScrollDelay = 1;
				}
				try {
					Configure.lineScrollDelay = Integer.parseInt(lineDelay.getText());
				} catch (Exception e) {
					Configure.lineScrollDelay = 10;
				}
				try {
					Configure.pageScrollDelay = Integer.parseInt(pageDelay.getText());
				} catch (Exception e) {
					Configure.pageScrollDelay = 50;
				}
				Configure.complexTheme = Theme.COMPLEX_THEME = complexTheme.getCheckedIndex() != 0;
				Configure.reserveLineWhenTurnPage = reserveLineWhenTurnPage.getCheckedIndex() == 0;
				if (underline.getCheckedIndex() == 0) {
					Configure.showUnderline = false;
				} else {
					Configure.showUnderline = true;
					Configure.underlineDot = underline.getCheckedIndex() == 2;
				}
				Configure.save();
				Configure.loadProfile(oldProfileIndex); //加载原来的配置文件
				mainCanvas.closePopup();
			} catch (Exception e) {
				showAlert(e.toString());
			}
		} else if (str.equals(Res.get("Close"))) {
			mainCanvas.closePopup();
		} else {

		}
	}

	public void valueChanged(Object obj) {
		if (obj instanceof ListBox) {
			ListBox lb = (ListBox) obj;
			if (lb == complexTheme) {
				Theme.COMPLEX_THEME = lb.getCheckedIndex() != 0;
			} else if (lb == theme) {
				Theme.loadTheme(lb.getCheckedItem().getText());
			} else if (lb == animate) {
				Configure.enableAnimate = lb.getCheckedIndex() == 0;
			} else if (lb == interFont) {
				Component.defaultFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE);
				if (Component.defaultFont.getHeight() > 16) {
					Component.defaultFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM);
					if (Component.defaultFont.getHeight() > 16) {
						Component.defaultFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
					}
				}
			}
		}
	}
}

⌨️ 快捷键说明

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