📄 color.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 + -