📄 ad.java
字号:
// pica客户端J2ME源码,100%可运行可修改,J2ME逆向工程经典作品
// 作者:fangji999
// QQ:57979471 Email:fangji999@163.com
// 博客:http://hi.baidu.com/ccall_net
// QQ群:51719370
// 如用此源码重新改写的软件或转载,请保留本人联系方式,作品原创作者
package pica;
import java.util.Hashtable;
import java.util.Vector;
import javax.microedition.lcdui.*;
// Referenced classes of package pica:
// aa, Pica, d, v
//表情界面类
public final class ad extends aa
{
private static String a[] = {
":)", ":D", ":P", ":$", "(SX)", "*-)", "(EN)", "(SL)", ":|", ":(",
":S", "(H)", ":-o", "(JX)", "(a`)", ":'(", "(6)", ":@", "(Y)", "(N)",
"(TU)", "(HS)", "P(:", "{k}", "^o)", "(:-#)", "|-)", "(GD)", "+o(", "(886)",
"(K)", "(L)", "(Ss)", "(F)", "(W)", "(mo)", "(0)", "(pi)", "(Bomb)", "(h5)"
};
private static Hashtable b;
private static final int c;
private static final int di;///private static final int d;
private static final int e;
private static final int f;
private static final int g;
private static final int h;
private static int i;
private int j;
private TextBox k;
private int l;
public ad(TextBox textbox)
{
super(Pica.l);
l = 0;
super.q = "添加表情";
k = textbox;
j = 0;
Pica.ad = true;
super.n = a(h, f);
super.t = a(a.length, f);
}
private static int a(int i1, int j1)
{
if (i1 % j1 == 0)
return i1 / j1;
else
return i1 / j1 + 1;
}
public final void a(Graphics g1)
{
l = super.oi * f;
int i1 = g;
int j1 = i - c - 4;
g1.setColor(0xffffff);
for (int k1 = l; k1 < a.length && k1 < l + h; k1++)
{
if (k1 % f == 0)
{
i1 = 3;
j1 += c + 8;
}
g1.setClip(i1, j1, c, c);
g1.drawImage(Pica.F, i1 - c * (k1 % 5), j1 - c * (k1 / 5), 20);
g1.setClip(0, 0, v.a, v.b);
if (k1 == j)
{
g1.setColor(120, 146, 210);
g1.drawRect(i1 - 2, j1 - 2, c + 3, c + 3);
g1.drawRect(i1 - 3, j1 - 3, c + 5, c + 5);
g1.setColor(0xffffff);
}
i1 += c + g;
}
}
public static void a()
{
int i1 = a.length;
b = new Hashtable((i1 + i1) - 1);
for (int j1 = i1 - 1; j1 >= 0; j1--)
b.put(a[j1], new Integer(j1));
b.put("(\\s)", new Integer(-3));
b.put("(\\h)", new Integer(-4));
b.put("(\\c)", new Integer(-5));
b.put("(\\d)", new Integer(-6));
}
public static void a(Graphics g1, Vector vector, int i1, int j1)
{
int k1 = i1;
int l1 = j1;
boolean flag = false;
Object obj = null;
g1.setFont(Pica.q);
for (int j2 = 0; j2 < vector.size(); j2++)
{
if (l1 >= v.b - v.j)
return;
Object obj1;
if ((obj1 = vector.elementAt(j2)) instanceof String)
{
if (l1 >= i - 8)
{
g1.drawString((String)obj1, k1, l1, 20);
k1 += Pica.q.stringWidth((String)obj1);
}
continue;
}
if (!(obj1 instanceof Integer))
continue;
int i2;
if ((i2 = ((Integer)obj1).intValue()) == -1 || i2 == -2)
{
k1 = i1;
l1 += e;
continue;
}
if (i2 >= 0)
{
if (l1 >= i - 8)
{
k1 += 2;
g1.setClip(k1, l1 - 2, c, c);
g1.drawImage(Pica.F, k1 - c * (i2 % 5), l1 - 2 - c * (i2 / 5), 20);
g1.setClip(0, 0, v.a, v.b);
k1 += c;
k1 += 2;
}
continue;
}
if (i2 < -2)
{
k1 += 2;
g1.setClip(k1, l1 - 2, 18, 18);
g1.drawImage(Pica.G, k1 + 18 * (i2 + 3), l1 - 2, 20);
g1.setClip(0, 0, v.a, v.b);
k1 += 20;
}
}
}
public static int a(String s, Vector vector, Graphics g1, int i1, int j1, boolean flag)
{
int k1 = i1;
int l1 = j1;
int i2 = s.length();
int j2 = 0;
int k2 = 0;
boolean flag1 = false;
int l2 = 0;
int i3 = 1;
Object obj = null;
boolean flag2 = false;
char ac[] = null;
int k3 = 1;
ac = s.toCharArray();
if (g1 != null)
g1.setFont(Pica.q);
j2 = 0;
for (k2 = 0; k2 < i2 - 1;)
{
switch (ac[k2])
{
case 10: // '\n'
l2 = -1;
flag1 = true;
i3 = 1;
break;
case 58: // ':'
if (ac[k2 + 1] == '\'' && k2 < i2 - 2 && ac[k2 + 2] == '(')
{
l2 = 15;
flag1 = true;
i3 = 3;
}
Object obj1;
if (ac[k2 + 1] == '-' && k2 < i2 - 2 && ac[k2 + 2] == 'o')
{
l2 = 12;
flag1 = true;
i3 = 3;
} else
if ((obj1 = b.get(":" + ac[k2 + 1])) != null)
{
l2 = ((Integer)obj1).intValue();
flag1 = true;
i3 = 2;
}
break;
case 40: // '('
if (k2 < i2 - 2)
{
int j3 = k2 + 2;
do
{
if (j3 >= k2 + 6 || j3 == i2)
break;
if (ac[j3] == ')')
{
Object obj2;
if ((obj2 = b.get(new String(ac, k2, (j3 + 1) - k2))) != null)
{
l2 = ((Integer)obj2).intValue();
flag1 = true;
i3 = (j3 + 1) - k2;
}
break;
}
j3++;
} while (true);
}
break;
case 80: // 'P'
if (ac[k2 + 1] == '(' && k2 < i2 - 2 && ac[k2 + 2] == ':')
{
l2 = 22;
flag1 = true;
i3 = 3;
}
break;
case 123: // '{'
if (ac[k2 + 1] == 'k' && k2 < i2 - 2 && ac[k2 + 2] == '}')
{
l2 = 23;
flag1 = true;
i3 = 3;
}
break;
case 43: // '+'
if (ac[k2 + 1] == 'o' && k2 < i2 - 2 && ac[k2 + 2] == '(')
{
l2 = 28;
flag1 = true;
i3 = 3;
}
break;
default:
if (k2 < i2 - 2 && ac[k2 + 2] == ')')
if (ac[k2] == '*' && ac[k2 + 1] == '-')
{
l2 = 5;
flag1 = true;
i3 = 3;
} else
if (ac[k2] == '^' && ac[k2 + 1] == 'o')
{
l2 = 24;
flag1 = true;
i3 = 3;
} else
if (ac[k2] == '|' && ac[k2 + 1] == '-')
{
l2 = 26;
flag1 = true;
i3 = 3;
}
break;
}
if (flag1)
{
if (flag)
{
if (k2 > j2)
{
String s1 = new String(ac, j2, k2 - j2);
g1.drawString(s1, k1, l1, 20);
k1 += Pica.q.stringWidth(s1);
}
if (l2 == -1)
return 1;
if (l2 >= 0)
{
k1 += 2;
g1.setClip(k1, l1 - 2, c, c);
g1.drawImage(Pica.F, k1 - c * (l2 % 5), l1 - 2 - c * (l2 / 5), 20);
g1.setClip(0, 0, v.a, v.b);
k1 += c;
k1 += 2;
} else
if (l2 < -2)
{
k1 += 2;
g1.setClip(k1, l1 - 2, 16, 16);
g1.drawImage(Pica.G, k1 + 16 * (l2 + 3), l1 - 2, 20);
g1.setClip(0, 0, v.a, v.b);
k1 += 16;
k1 += 2;
}
if (k1 >= di)
return 1;
} else
{
if (k2 > j2)
vector.addElement(new String(ac, j2, k2 - j2));
if (l2 == -1)
{
vector.addElement(new Integer(-1));
k1 = i1;
k3++;
} else
{
if (k1 + c > di)
{
vector.addElement(new Integer(-2));
k3++;
k1 = i1;
}
vector.addElement(new Integer(l2));
k1 += c + 4;
}
}
j2 = k2 += i3;
flag1 = false;
i3 = 1;
} else
{
if (!flag && (k1 += Pica.q.charWidth(ac[k2])) > di)
{
vector.addElement(new String(ac, j2, k2 - j2));
vector.addElement(new Integer(-2));
j2 = k2;
k1 = i1 + Pica.q.charWidth(ac[k2]);
k3++;
}
k2++;
}
}
k2 = i2;
if (flag)
{
if (k2 > j2)
g1.drawString(new String(ac, j2, k2 - j2), k1, l1, 20);
return 1;
}
if (k2 > j2)
vector.addElement(new String(ac, j2, k2 - j2));
return k3;
}
public final void b()
{
if (j < f)
{
j += (a.length / f) * f;
if (j >= a.length)
j -= f;
} else
{
j -= f;
}
if (j < l)
{
l -= f;
super.oi--;
return;
}
if (j >= l + h)
{
l = ((a.length - 1) / f + 1) * f - h;
super.oi = super.t - super.n;
}
}
public final void c()
{
j += f;
if (j >= a.length)
j %= f;
if (j >= l + h)
{
l += f;
super.oi++;
return;
}
if (j < l)
{
l = 0;
super.oi = 0;
}
}
public final void j()
{
if (j % f == 0)
if (j + f > a.length)
j = a.length;
else
j += f;
j--;
}
public final void k()
{
j++;
if (j % f == 0)
{
j -= f;
return;
}
if (j == a.length)
j = (a.length / f) * f;
}
public final void a(v v1)
{
v1.e = "取消";
v1.a("确定");
}
public final void d()
{
Pica.ad = false;
k.insert(a[j], k.getCaretPosition());
Pica.j.setCurrent(k);
}
public final void a(String s)
{
Pica.ad = false;
if (s == "确定")
{
k.insert(a[j], k.getCaretPosition());
Pica.j.setCurrent(k);
return;
} else
{
Pica.j.setCurrent(k);
return;
}
}
public final void h()
{
}
static
{
c = Pica.F.getWidth() / 5;
di = v.a - 8;
e = Pica.q.getHeight() + d.a;
f = di / (c + 4);
g = (v.a - c * f) / f;
h = ((v.b - v.l - 22 - v.j) / (c + 8)) * f;
i = v.l + 22;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -