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

📄 color.java

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

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

import com.ismyway.anyview.others.Configure;
import com.ismyway.fairyui.Callback;
import com.ismyway.fairyui.Component;
import com.ismyway.fairyui.DropList;
import com.ismyway.fairyui.ImageBlock;
import com.ismyway.fairyui.NewLine;
import com.ismyway.fairyui.Panel;
import com.ismyway.fairyui.Row;
import com.ismyway.fairyui.Slider;
import com.ismyway.fairyui.TextBlock;
import com.ismyway.fairyui.ValueChangeListener;
import com.ismyway.util.Res;

public class Color extends Panel implements ValueChangeListener {
	DropList color;
	Slider red = new Slider(), green = new Slider(), blue = new Slider();
	ImageBlock preview = new ImageBlock();
	Image pre = null;
	int oldColor = 0;

	public Color() {
		setTitle(Res.get("Color") + Res.get("Setup"));

		Row row2 = new Row();
		color = new DropList(new String[] { Res.get("Foreground Color"), Res.get("Foreground Color2"),
				Res.get("Background Color"), Res.get("Underline Color"), Res.get("Indicator") + Res.get("Color") });
		color.setSelectedIndex(0);
		color.setItemListener(this);
		row2.add(color);
		add(row2);

		oldColor = Configure.fontColor1;
		int c = Configure.fontColor1;
		red.setParameters(0, 255, (c >> 16) & 0xff);
		red.setStep(0x11);
		red.setHexMode(true);
		red.setValueChangeListener(this);
		add(red);
		green.setParameters(0, 255, (c >> 8) & 0xff);
		green.setStep(0x11);
		green.setHexMode(true);
		green.setValueChangeListener(this);
		add(green);
		blue.setParameters(0, 255, c & 0xff);
		blue.setStep(0x11);
		blue.setHexMode(true);
		blue.setValueChangeListener(this);
		add(blue);

		Row row = new Row();
		row.add(new NewLine(5));

		try {
			int height = getFont().getHeight() * 2 + 8;
			int width = getWidth() - 20;
			pre = Image.createImage(width, height);
			getPreivew();
			preview.setImage(pre);
			row.add(preview);
			row.add(new NewLine(5));
		} catch (Exception e) {

		}

		row.add(new TextBlock(Res.get("Save Color")));
		add(row);

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

	private void getPreivew() {
		if (null == pre) {
			return;
		}

		Graphics g = pre.getGraphics();
		String f1 = Res.get("Foreground Color");
		String f2 = Res.get("Foreground Color2");
		int x1 = (pre.getWidth() - getFont().stringWidth(f1)) >> 1;
		int x2 = (pre.getWidth() - getFont().stringWidth(f2)) >> 1;

		g.setColor(Configure.backgroundColor);
		g.fillRect(0, 0, pre.getWidth() - 1, pre.getHeight() - 1);
		g.setColor(0xFFFFFF - (Configure.backgroundColor & 0xFFFFFF));
		g.drawRect(0, 0, pre.getWidth() - 1, pre.getHeight() - 1);
		g.setColor(Configure.fontColor1);
		g.drawString(f1, x1, 2, ANCHOR);
		g.setColor(Configure.fontColor2);
		g.drawString(f2, x2, pre.getHeight() - 2 - getFont().getHeight(), ANCHOR);
		g.setColor(Configure.underlineColor);
		g.setStrokeStyle(Configure.underlineDot ? Graphics.DOTTED : Graphics.SOLID);
		g.drawLine(2, 4 + getFont().getHeight(), pre.getWidth() - 4, 4 + getFont().getHeight());
		g.setColor(Configure.indicatorColor);
		g.setStrokeStyle(Graphics.SOLID);
		g.drawLine(pre.getWidth() - 2, 0, pre.getWidth() - 2, pre.getHeight() - 12);
	}

	public Color(Callback callback) {
		super(callback);
	}

	public Color(Callback callback, Panel from) {
		super(callback, from);
	}

	public void commandAction(Command cmd, Component c) {
		String str = cmd.getLabel();
		if (str.equals(Res.get("Discharge"))) {
			try {
				int index = color.getSelectedIndex();
				if (index == 0) {
					Configure.fontColor1 = oldColor;
				} else if (index == 1) {
					Configure.fontColor2 = oldColor;
				} else if (index == 2) {
					Configure.backgroundColor = oldColor;
				} else if (index == 3) {
					Configure.underlineColor = oldColor;
				} else if (index == 4) {
					Configure.indicatorColor = oldColor;
				}
			} catch (Exception e) {
				showAlert(e.toString());
			}
		} else if (str.equals(Res.get("Close"))) {
			mainCanvas.closePopup();
		} else {

		}
	}

	public void valueChanged(Object obj) {
		if (obj instanceof DropList) {
			DropList dl = (DropList) obj;
			if (dl == color) {
				int c = 0;
				int index = dl.getSelectedIndex();
				if (index == 0) {
					c = Configure.fontColor1;
				} else if (index == 1) {
					c = Configure.fontColor2;
				} else if (index == 2) {
					c = Configure.backgroundColor;
				} else if (index == 3) {
					c = Configure.underlineColor;
				} else if (index == 4) {
					c = Configure.indicatorColor;
				}
				red.setCurrent((c >> 16) & 0xff);
				green.setCurrent((c >> 8) & 0xff);
				blue.setCurrent(c & 0xff);
			}
		} else if (obj instanceof Slider) {
			int value = red.getCurrent() << 16 | green.getCurrent() << 8 | blue.getCurrent();
			int index = color.getSelectedIndex();
			if (index == 0) {
				Configure.fontColor1 = value;
			} else if (index == 1) {
				Configure.fontColor2 = value;
			} else if (index == 2) {
				Configure.backgroundColor = value;
			} else if (index == 3) {
				Configure.underlineColor = value;
			} else if (index == 4) {
				Configure.indicatorColor = value;
			}
			getPreivew();
		}
	}
}

⌨️ 快捷键说明

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