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

📄 a.java

📁 2009-PICA最新j2ME源码
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 

package pica.ui;

import mainn.cm;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Vector;
import javax.microedition.lcdui.*;

// Referenced classes of package pica.ui:
//			b, h

public final class a extends b
{

	private static final String i[] = {
		":)", ":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 j;
	private static Image k;
	private static Image l;
	private static int m;
	private static int n;
	private static int o;
	private static int p;
	private static int q;
	private static int r;
	private TextBox s;
	private int t;
	private int u;
	private static int v;
	private static int w;

	public a(h h, String s1, int i1, int j1, int k1, int l1, TextBox textbox)
	{
		super(h, s1);
		super.e = i1;
		super.f = j1;
		super.g = k1;
		super.h = l1;
		s = textbox;
		d();
	}

	public static void a()
	{
		try{
                k = Image.createImage("/middle/emotion.png");
		l = Image.createImage("/middle/card.png");
                
                                
                                
                 } catch (IOException ex) {
                     ex.printStackTrace();
                 }   
//		  goto _L1
//		JVM INSTR dup ;
//		IOException ioexception;
//		ioexception;
//		printStackTrace();
//_L1:
		m = k.getWidth() / 5;
		n = 2;
		o = m + n + n;
		p = i.length;
		j = new Hashtable((p + p) - 1);
		for (int i1 = p - 1; i1 >= 0; i1--)
			j.put(i[i1], new Integer(i1));

		j.put("(\\s)", new Integer(100));
		j.put("(\\h)", new Integer(101));
		j.put("(\\c)", new Integer(102));
		j.put("(\\d)", new Integer(103));
		return;
	}

	private void d()
	{
		q = super.g / o;
		r = super.h / o;
		v = (super.g - q * o) / 2;
		w = 0;
		t = 0;
	}

	public final void b()
	{
		s.insert(i[t], s.getCaretPosition());
	}

	public final TextBox c()
	{
		return s;
	}

	protected final void agp(Graphics g)
	{
		int i1 = super.e + v + n;
		int j1 = super.f + w + n;
		int k1 = u;
		int l1 = 0;
		int i2 = (k1 / 5) * m;
		g.setColor(0xffffff);
		g.fillRect(0, 0, super.b.getWidth(), super.b.getHeight());
		while (k1 < p && j1 < super.f + super.h) 
		{
			g.setClip(i1, j1, m, m);
			g.drawImage(k, i1 - l1, j1 - i2, 20);
			g.setClip(super.e, super.f, super.g, super.h);
			if (k1 == t)
			{
				g.setColor(0xff0000);
				g.drawRect(i1 - 3, j1 - 3, m + 5, m + 5);
			}
			if (++k1 % 5 == 0)
			{
				l1 = 0;
				i2 += m;
			} else
			{
				l1 += m;
			}
			if (k1 % q == 0)
			{
				i1 = super.e + v + n;
				j1 += o;
			} else
			{
				i1 += o;
			}
		}
	}

	protected final boolean a(byte byte0, int i1)
	{
		switch (byte0)
		{
		case 0: // '\0'
			a(i1);
			// fall through

		case 2: // '\002'
		default:
			return true;
		}
	}

	private void a(int i1)
	{
		switch (i1)
		{
		default:
			break;

		case -1: 
		case 50: // '2'
			if (t >= q)
			{
				t -= q;
				if (t < u)
				{
					u -= q;
					return;
				}
			}
			break;

		case -2: 
		case 56: // '8'
			if (t >= p - q)
				break;
			t += q;
			if (t - u >= r * q)
			{
				u += q;
				return;
			}
			break;

		case -3: 
		case 52: // '4'
			if (t <= 0)
				break;
			t--;
			if (t < u)
			{
				u -= q;
				return;
			}
			break;

		case -4: 
		case 54: // '6'
			if (t >= p - 1)
				break;
			t++;
			if (t - u >= r * q)
			{
				u += q;
				return;
			}
			break;

		case -5: 
		case 53: // '5'
			super.a.aio(15, s);
			return;
		}
	}

	public static Object a(String s1, int i1, Font font, boolean flag)
	{
		if (s1 == null || s1.length() == 0)
			return ((Object) (new Object[0][]));
		Vector vector = flag ? null : new Vector();
		Vector vector1 = new Vector();
		int j1 = s1.length();
		char ac[] = s1.toCharArray();
		int k1 = 0;
		int l1 = 0;
		int i2 = 0;
		Integer integer = null;
		int j2 = 1;
		boolean flag1 = false;
		while (i2 < j1 - 1) 
		{
			Object obj;
			switch (ac[i2])
			{
			case 10: // '\n'
				integer = new Integer(-1);
				flag1 = true;
				j2 = 1;
				break;

			case 58: // ':'
				if (ac[i2 + 1] == '\'' && i2 < j1 - 2 && ac[i2 + 2] == '(')
				{
					integer = new Integer(15);
					flag1 = true;
					j2 = 3;
				} else
				if (ac[i2 + 1] == '-' && i2 < j1 - 2 && ac[i2 + 2] == 'o')
				{
					integer = new Integer(12);
					flag1 = true;
					j2 = 3;
				} else
				if ((obj = j.get(new String(ac, i2, 2))) != null)
				{
					integer = (Integer)obj;
					flag1 = true;
					j2 = 2;
				}
				break;

			case 40: // '('
				if (i2 < j1 - 2)
				{
					int k2 = i2 + 2;
					do
					{
						if (k2 >= i2 + 6 || k2 == j1)
							break;
						if (ac[k2] == ')')
						{
							Object obj1;
							if ((obj1 = j.get(new String(ac, i2, (k2 + 1) - i2))) != null)
							{
								integer = (Integer)obj1;
								flag1 = true;
								j2 = (k2 + 1) - i2;
							}
							break;
						}
						k2++;
					} while (true);
				}
				break;

			case 80: // 'P'
				if (ac[i2 + 1] == '(' && i2 < j1 - 2 && ac[i2 + 2] == ':')
				{
					integer = new Integer(22);
					flag1 = true;
					j2 = 3;
				}
				break;

			case 123: // '{'
				if (ac[i2 + 1] == 'k' && i2 < j1 - 2 && ac[i2 + 2] == '}')
				{
					integer = new Integer(23);
					flag1 = true;
					j2 = 3;
				}
				break;

			case 43: // '+'
				if (ac[i2 + 1] == 'o' && i2 < j1 - 2 && ac[i2 + 2] == '(')
				{
					integer = new Integer(28);
					flag1 = true;
					j2 = 3;
				}
				break;

			default:
				if (i2 < j1 - 2 && ac[i2 + 2] == ')')
					if (ac[i2] == '*' && ac[i2 + 1] == '-')
					{
						integer = new Integer(5);
						flag1 = true;
						j2 = 3;
					} else
					if (ac[i2] == '^' && ac[i2 + 1] == 'o')
					{
						integer = new Integer(24);
						flag1 = true;
						j2 = 3;
					} else
					if (ac[i2] == '|' && ac[i2 + 1] == '-')
					{
						integer = new Integer(26);
						flag1 = true;
						j2 = 3;
					}
				break;
			}
			if (flag1)
			{
				if (i2 > l1)
					vector1.addElement(new String(ac, l1, i2 - l1));
				if (integer.intValue() == -1)
				{
					if (flag)
						return vector1;
					vector.addElement(vector1);
					vector1 = new Vector();
					k1 = 0;
				} else
				{
					if (k1 + m > i1)
					{
						if (flag)
							return vector1;
						vector.addElement(vector1);
						vector1 = new Vector();
						k1 = 0;
					}
					vector1.addElement(integer);
					k1 += m;
				}
				l1 = i2 += j2;
				flag1 = false;
				j2 = 1;
			} else
			{
				if ((k1 += font.charWidth(ac[i2])) > i1)
				{
					vector1.addElement(new String(ac, l1, i2 - l1));
					if (flag)
						return vector1;
					vector.addElement(vector1);
					vector1 = new Vector();
					l1 = i2;
					k1 = font.charWidth(ac[i2]);
				}
				i2++;
			}
		}
		if ((i2 = j1) > l1)
			vector1.addElement(new String(ac, l1, i2 - l1));
		if (vector1.size() > 0)
		{
			if (flag)
				return vector1;
			vector.addElement(vector1);
		}
		Object aobj[][] = new Object[vector.size()][];
		for (int l2 = 0; l2 < aobj.length; l2++)
		{
			Vector vector2;
			Object aobj1[] = new Object[(vector2 = (Vector)vector.elementAt(l2)).size()];
			for (int i3 = 0; i3 < vector2.size(); i3++)
				aobj1[i3] = vector2.elementAt(i3);

			aobj[l2] = aobj1;
		}

		return ((Object) (aobj));
	}

	public static void a(Graphics g, String s1, int i1, int j1, int k1)
	{
		int l1 = g.getClipWidth();
		Vector vector;
		Object aobj[] = new Object[(vector = (Vector)a(s1, l1, g.getFont(), true)).size()];
		vector.copyInto(aobj);
		a(g, aobj, i1, j1, k1);
	}

	public static void a(Graphics g, Object aobj[], int i1, int j1, int k1)
	{
		int l1 = g.getClipX();
		int i2 = g.getClipY();
		int j2 = g.getClipWidth();
		int k2 = g.getClipHeight();
		int l2 = i1;
		int i3 = 0;
		int j3 = 0;
		if ((k1 & 4) != 0)
			i3 = 0;
		else
		if ((k1 & 1) != 0)
			i3 = m / 2;
		else
		if ((k1 & 8) != 0)
			i3 = m;
		if ((k1 & 0x10) != 0)
			j3 = (18 - g.getFont().getHeight()) / 2;
		else
		if ((k1 & 0x40) != 0)
			j3 = m / 2;
		else
		if ((k1 & 0x20) != 0)
			j3 = m;
		for (int k3 = 0; k3 < aobj.length; k3++)
		{
			if (aobj[k3] instanceof String)
			{
				String s1 = (String)aobj[k3];
				g.drawString(s1, l2, j1, k1);
				l2 += g.getFont().stringWidth(s1);
				continue;
			}
			int l3 = ((Integer)aobj[k3]).intValue();
			g.setClip(l2 - i3, j1 - j3, m, m);
			if (l3 >= 100)
			{
				l3 -= 100;
				g.drawImage(l, l2 - i3 - l3 * m, j1 - j3, 20);
			} else
			{
				g.drawImage(k, l2 - i3 - (l3 % 5) * m, j1 - j3 - (l3 / 5) * m, 20);
			}
			g.setClip(l1, i2, j2, k2);
			l2 += m;
		}

	}

}

⌨️ 快捷键说明

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