package MainFormPackage;import javax.microedition.lcdui.*;import javax.microedition.midlet.*;import DataBasePackage.BusDataRecord;import DataBasePackage.RecordStoreE;import PublicPackage.BusType;import PublicPackage.DrawBallType;import PublicPackage.SimpleBusType;import ThreadPackage.*;public class MainForm extends MIDlet implements CommandListener ...{ private Display display; private TableForm tableform; private OddEvenForm oddevenform; private List adddelmodList; private Form Tempf; private Command CMD_EXIT_MAIN = new Command("退出", Command.EXIT, 1); private Command CMD_SHOW_TABLE = new Command("进入", Command.ITEM, 1); private Command CMD_SHOW_OK = new Command("确定", Command.ITEM, 1); private String[] strlist; private Image Icon_mi, Icon_sa, Icon_tu, Icon_wr, Icon_ms, Icon_cs; private Image[] IconArr; private List mainList; private TextField TBCodeA, TBCodeM, TBCodeD, TBReadBallA, TBReadBallM, TBBlueBallA, TBBlueBallM, TFSZBus, TFSZBusSite; private Form SZBusForm, SZBusSiteForm; //private TextField SumMax,SumMin,ConnectCode,OddEven; public MainForm() ...{ // RecordStoreE Rse = new RecordStoreE(); Rse.CloseDatabase(); Rse.OpenDatabase(); DrawBallType record = new DrawBallType(); ///////////////////////////////////////////////////////////////////////////////////// // if (Rse.GetAllRecord(true).length > 1) ...{ } else ...{ record.RedBall[0] = 10; record.RedBall[1] = 15; record.RedBall[2] = 17; record.RedBall[3] = 24; record.RedBall[4] = 26; record.RedBall[5] = 28; record.BlueBall[0] = 12; record.BlueBall[1] = 0; record.Str = "07063"; Rse.AddRecord(record); record.RedBall[0] = 8; record.RedBall[1] = 17; record.RedBall[2] = 20; record.RedBall[3] = 29; record.RedBall[4] = 30; record.RedBall[5] = 33; record.BlueBall[0] = 9; record.BlueBall[1] = 0; record.Str = "07062"; Rse.AddRecord(record); record.RedBall[0] = 01; record.RedBall[1] = 06; record.RedBall[2] = 07; record.RedBall[3] = 11; record.RedBall[4] = 20; record.RedBall[5] = 23; record.BlueBall[0] = 05; record.BlueBall[1] = 0; record.Str = "07061"; Rse.AddRecord(record); record.RedBall[0] = 01; record.RedBall[1] = 02; record.RedBall[2] = 8; record.RedBall[3] = 16; record.RedBall[4] = 19; record.RedBall[5] = 29; record.BlueBall[0] = 05; record.BlueBall[1] = 6; record.Str = "07060"; Rse.AddRecord(record); record.RedBall[0] = 01; record.RedBall[1] = 03; record.RedBall[2] = 4; record.RedBall[3] = 6; record.RedBall[4] = 7; record.RedBall[5] = 29; record.BlueBall[0] = 14; record.BlueBall[1] = 0; record.Str = "07059"; Rse.AddRecord(record); record.RedBall[0] = 7; record.RedBall[1] = 8; record.RedBall[2] = 10; record.RedBall[3] = 13; record.RedBall[4] = 25; record.RedBall[5] = 27; record.BlueBall[0] = 14; record.BlueBall[1] = 0; record.Str = "07058"; Rse.AddRecord(record); record.RedBall[0] = 5; record.RedBall[1] = 11; record.RedBall[2] = 18; record.RedBall[3] = 19; record.RedBall[4] = 20; record.RedBall[5] = 21; record.BlueBall[0] = 9; record.BlueBall[1] = 0; record.Str = "07057"; Rse.AddRecord(record); record.RedBall[0] = 14; record.RedBall[1] = 17; record.RedBall[2] = 21; record.RedBall[3] = 29; record.RedBall[4] = 31; record.RedBall[5] = 32; record.BlueBall[0] = 12; record.BlueBall[1] = 0; record.Str = "07056"; Rse.AddRecord(record); record.RedBall[0] = 2; record.RedBall[1] = 6; record.RedBall[2] = 11; record.RedBall[3] = 22; record.RedBall[4] = 28; record.RedBall[5] = 29; record.BlueBall[0] = 2; record.BlueBall[1] = 0; record.Str = "07055"; Rse.AddRecord(record); record.RedBall[0] = 1; record.RedBall[1] = 3; record.RedBall[2] = 16; record.RedBall[3] = 18; record.RedBall[4] = 23; record.RedBall[5] = 28; record.BlueBall[0] = 5; record.BlueBall[1] = 0; record.Str = "07054"; Rse.AddRecord(record); record.RedBall[0] = 1; record.RedBall[1] = 13; record.RedBall[2] = 16; record.RedBall[3] = 17; record.RedBall[4] = 18; record.RedBall[5] = 27; record.BlueBall[0] = 11; record.BlueBall[1] = 0; record.Str = "07053"; Rse.AddRecord(record); record.RedBall[0] = 2; record.RedBall[1] = 3; record.RedBall[2] = 7; record.RedBall[3] = 8; record.RedBall[4] = 26; record.RedBall[5] = 29; record.BlueBall[0] = 11; record.BlueBall[1] = 0; record.Str = "07052"; Rse.AddRecord(record); record.RedBall[0] = 3; record.RedBall[1] = 14; record.RedBall[2] = 16; record.RedBall[3] = 26; record.RedBall[4] = 27; record.RedBall[5] = 33; record.BlueBall[0] = 13; record.BlueBall[1] = 0; record.Str = "07051"; Rse.AddRecord(record); record.RedBall[0] = 1; record.RedBall[1] = 5; record.RedBall[2] = 8; record.RedBall[3] = 13; record.RedBall[4] = 18; record.RedBall[5] = 25; record.BlueBall[0] = 2; record.BlueBall[1] = 0; record.Str = "07050"; Rse.AddRecord(record); Rse.CloseDatabase(); } ////////////////////////////////////////////////////////////////////////////////// // } protected void destroyApp(boolean arg0) throws MIDletStateChangeException ...{ } protected void pauseApp() ...{ } protected void startApp() ...{ try ...{ strlist = new String[] ...{ "常规走势", "奇偶和值", "记录修改", "线路查询", "站点查询" }; Icon_mi = Image.createImage("/res/mi_nav.png"); Icon_sa = Image.createImage("/res/sa_nav.png"); Icon_tu = Image.createImage("/res/tu_nav.png"); Icon_wr = Image.createImage("/res/wr_nav.png"); Icon_ms = Image.createImage("/res/ov_nav.png"); Icon_cs = Image.createImage("/res/wn_nav.png"); IconArr = new Image[] ...{ Icon_mi, Icon_sa, Icon_tu, Icon_wr, Icon_ms }; mainList = new List("苏州公交-双色球图", List.IMPLICIT, strlist, IconArr); display = Display.getDisplay(this); mainList.addCommand(CMD_EXIT_MAIN); mainList.addCommand(CMD_SHOW_TABLE); mainList.setCommandListener(this); display.setCurrent(mainList); } catch (Exception e) ...{ System.out.println(e.toString()); } } public void commandAction(Command c, Displayable d) ...{ try ...{ if (d.equals(mainList)) ...{ if (c == CMD_EXIT_MAIN) ...{ destroyApp(false); notifyDestroyed(); } else if (c == CMD_SHOW_TABLE) ...{ switch (((List) d).getSelectedIndex()) ...{ case 0:// 走势图 tableform = new TableForm("常规走势", display, mainList, ""); display.setCurrent(tableform); break; case 1:// 奇偶表 oddevenform = new OddEvenForm("奇偶和值", display, mainList, ""); display.setCurrent(oddevenform); break; case 2:// 增删改 strlist = new String[] ...{ "增加记录", "删除记录", "修改记录" }; Image Icon_ov = Image.createImage("/res/ov_nav.png"); Image Icon_wb = Image.createImage("/res/wb_nav.png"); Image Icon_wn = Image.createImage("/res/wn_nav.png"); IconArr = new Image[] ...{ Icon_ov, Icon_wb, Icon_wn }; adddelmodList = new List("记录修改", List.IMPLICIT, strlist, IconArr); adddelmodList.addCommand(CMD_EXIT_MAIN); adddelmodList.addCommand(CMD_SHOW_TABLE); adddelmodList.setCommandListener(this); display.setCurrent(adddelmodList); break; case 3: // /////////////////////////苏州公交 try ...{ SZBusForm = new Form("线路查询"); SZBusForm.addCommand(CMD_EXIT_MAIN); SZBusForm.addCommand(CMD_SHOW_OK); TFSZBus = new TextField("线路", "101", 50, TextField.ANY); SZBusForm.append(TFSZBus); SZBusForm.setCommandListener(this); display.setCurrent(SZBusForm); } catch (Exception e) ...{ e.printStackTrace(); } break; case 4: // /////////////////////////苏州公交 try ...{ SZBusSiteForm = new Form("站点查询"); SZBusSiteForm.addCommand(CMD_EXIT_MAIN); SZBusSiteForm.addCommand(CMD_SHOW_OK); TFSZBusSite = new TextField("站点", "北园新村", 50, TextField.ANY); SZBusSiteForm.append(TFSZBusSite); SZBusSiteForm.setCommandListener(this); display.setCurrent(SZBusSiteForm); } catch (Exception e) ...{ e.printStackTrace(); } break; } } } else if (d.equals(adddelmodList)) ...{ // 退出主界面 if (c == CMD_EXIT_MAIN) ...{ display.setCurrent(mainList); // } else if (c == CMD_SHOW_TABLE) ...{ switch (((List) d).getSelectedIndex()) ...{ case 0:// 添加记录 TBCodeA = new TextField("期号", "", 50, TextField.ANY); TBReadBallA = new TextField("红球", "", 50, TextField.ANY); TBBlueBallA = new TextField("蓝球", "", 50, TextField.ANY); Tempf = new Form("添加记录"); Tempf.append(TBCodeA); Tempf.append(TBReadBallA); Tempf.append(TBBlueBallA); Tempf.addCommand(CMD_EXIT_MAIN); Tempf.addCommand(CMD_SHOW_OK); Tempf.setCommandListener(this); // // TBCodeA.setString("07050"); // TBReadBallA.setString("01 05 08 13 18 25"); // TBBlueBallA.setString("2"); // display.setCurrent(Tempf); break; case 1:// 删除 TBCodeD = new TextField("期号", "", 50, TextField.ANY); Tempf = new Form("删除记录"); Tempf.append(TBCodeD); Tempf.addCommand(CMD_EXIT_MAIN); Tempf.addCommand(CMD_SHOW_OK); Tempf.setCommandListener(this); //TBCodeD.setString("07051"); display.setCurrent(Tempf); break; case 2:// 修改 TBCodeM = new TextField("期号", "", 50, TextField.ANY); TBReadBallM = new TextField("红球", "", 50, TextField.ANY); TBBlueBallM = new TextField("蓝球", "", 50, TextField.ANY); Tempf = new Form("修改记录"); Tempf.append(TBCodeM); Tempf.append(TBReadBallM); Tempf.append(TBBlueBallM); Tempf.addCommand(CMD_EXIT_MAIN); Tempf.addCommand(CMD_SHOW_OK); Tempf.setCommandListener(this); // TBCodeM.setString("07055"); // TBReadBallM.setString("1 2 3 4 5 6"); // TBBlueBallM.setString("9"); display.setCurrent(Tempf); break; } } } else if (d.equals(SZBusForm)) ...{/////////////////////////苏州公交 if (c == CMD_EXIT_MAIN) ...{ display.setCurrent(mainList); // } else if (c == CMD_SHOW_OK) ...{ ShowRoadThread Showmessage = new ShowRoadThread(display, TFSZBus.getString().trim(), SZBusForm); Showmessage.start(); } } else if (d.equals(SZBusSiteForm)) ...{/////////////////////////苏州公交 if (c == CMD_EXIT_MAIN) ...{ display.setCurrent(mainList); // } else if (c == CMD_SHOW_OK) ...{ ShowSiteThread Showmessage = new ShowSiteThread(display, TFSZBusSite.getString().trim(), SZBusSiteForm, mainList); Showmessage.start(); } } else if (d.equals(Tempf)) ...{ if (c == CMD_EXIT_MAIN) ...{ display.setCurrent(adddelmodList); // } else if (c == CMD_SHOW_OK) ...{ display.setCurrent(adddelmodList); if (((Form) d).getTitle().equals("删除记录")) ...{ System.out.println("DEL"); System.out.println(TBCodeD.getString()); if (TBCodeD.getString().length() != 5) ...{ WarningShow("输入的期号必须是五位,例如07059"); } else ...{ try ...{ Integer.valueOf(TBCodeD.getString()); RecordStoreE T = new RecordStoreE(); T.CloseDatabase(); T.OpenDatabase(); DrawBallType TD = new DrawBallType(); TD.Str = TBCodeD.getString(); T.DeleteRecord(TD); T.CloseDatabase(); WarningShow("删除成功"); } catch (Exception e) ...{ WarningShow("输入的期号必须是数字类型,例如07059"); } } } else if (((Form) d).getTitle().equals("修改记录")) ...{ System.out.println("MOD"); //期号 if (TBCodeM.getString().length() != 5) ...{ WarningShow("输入的期号必须是五位,例如07059"); } else ...{ try ...{ Integer.valueOf(TBCodeM.getString()); } catch (Exception e) ...{ WarningShow("输入的期号必须是数字类型,例如07059"); } } //红球 if (TBReadBallM.getString().length() >= 11) ...{ String TempStr = TBReadBallM.getString().trim(); byte[] TempB = CutString(TempStr); if (TempB.length != 6) ...{ WarningShow("输入的红球必须是六个,以空格隔开.例如2 8 19 26 30 33"); } else ...{ //蓝球 String TempStrB = TBBlueBallM.getString() .trim(); byte[] TempBB = CutString(TempStrB); if ((TempBB.length >= 1) && (TempBB.length < 3)) ...{ try ...{ RecordStoreE T = new RecordStoreE(); T.CloseDatabase(); T.OpenDatabase(); DrawBallType TD = new DrawBallType(); TD.Str = TBCodeM.getString(); for (int i = 0; i < TempB.length; i++) TD.RedBall[i] = TempB[i]; for (int j = 0; j < TempBB.length; j++) TD.BlueBall[j] = TempBB[j]; T.DeleteRecord(TD); T.AddRecord(TD); T.CloseDatabase(); WarningShow("修改成功"); } catch (Exception e) ...{ WarningShow("输入的红球必须是六个,以空格隔开.例如2 8 19 26 30 33"); } } else WarningShow("输入的蓝球只能是1个.例如8"); } } else WarningShow("输入的红球必须是六个,以空格隔开.例如2 8 19 26 30 33"); } else if (((Form) d).getTitle().equals("添加记录")) ...{ System.out.println("ADD"); //期号 if (TBCodeA.getString().length() != 5) ...{ WarningShow("输入的期号必须是五位,例如07059"); } else ...{ try ...{ Integer.valueOf(TBCodeA.getString()); } catch (Exception e) ...{ WarningShow("输入的期号必须是数字类型,例如07059"); } } //红球 if (TBReadBallA.getString().length() > 11) ...{ String TempStr = TBReadBallA.getString().trim(); byte[] TempB = CutString(TempStr); if (TempB.length != 6) ...{ WarningShow("输入的红球必须是六个,以空格隔开.例如2 8 19 26 30 33"); } else ...{ //蓝球 String TempStrB = TBBlueBallA.getString() .trim(); byte[] TempBB = CutString(TempStrB); System.out.println(TempStrB + " " + TempBB.length); if ((TempBB.length >= 1) && (TempBB.length < 3)) ...{ try ...{ RecordStoreE T = new RecordStoreE(); T.CloseDatabase(); T.OpenDatabase(); DrawBallType TD = new DrawBallType(); TD.Str = TBCodeA.getString(); for (int i = 0; i < TempB.length; i++) TD.RedBall[i] = TempB[i]; for (int j = 0; j < TempBB.length; j++) TD.BlueBall[j] = TempBB[j]; T.AddRecord(TD); T.CloseDatabase(); WarningShow("添加成功"); } catch (Exception e) ...{ WarningShow("输入的红球必须是六个,以空格隔开.例如2 8 19 26 30 33"); } } else WarningShow("输入的蓝球只能是1个.例如8"); } } else WarningShow("输入的红球必须是六个,以空格隔开.例如2 8 19 26 30 33"); } } } } catch (Exception e) ...{ System.out.println(e.toString()); } } private void WarningShow(String Info) ...{ Alert Warning = new Alert("友情提示"); Warning.setTimeout(5000); Warning.setString(Info); display.setCurrent(Warning); } private byte[] CutString(String Str) ...{ Str = Str.trim() + " "; byte[] TB = Str.getBytes(); int GNum = 0; for (int i = 0; i < TB.length; i++) ...{ if (TB[i] == ' ') GNum++; } byte[] TempB = new byte[GNum]; try ...{ String TS = ""; int index = 0; for (int i = 0; i < TB.length; i++) ...{ if (TB[i] == ' ') ...{ TempB[index++] = Integer.valueOf(TS).byteValue(); TS = ""; } else ...{ TS = TS + (char) (TB[i]); } } } catch (Exception e) ...{ TempB = new byte[0]; } return TempB; }} package MainFormPackage;import javax.microedition.lcdui.*;import DataBasePackage.RecordStoreE;import PublicPackage.*;public class OddEvenForm extends Form implements CommandListener ...{ private Command CMD_PROP = new Command("属性", Command.ITEM, 1); private Command CMD_BACK = new Command("返回", Command.CANCEL, 1); private OddEvenView tableview; private Display display; private List mf; private String str; public OddEvenForm(String Title, Display d, List mainList,String s) ...{ super(Title); display = d; mf = mainList; str = s; addCommand(CMD_PROP); addCommand(CMD_BACK); RecordStoreE TempRec = new RecordStoreE(); TempRec.OpenDatabase(); DrawBallType[] TempDraw = TempRec.GetAllRecord(false); tableview = new OddEvenView(str, d, TempDraw.length, TempDraw, 0); append(tableview); setCommandListener(this); } public void commandAction(Command c, Displayable d) ...{ try ...{ if (c == CMD_PROP) ...{ } else if (c == CMD_BACK) ...{ display.setCurrent(mf); } } catch (Exception e) ...{ System.out.println(e.toString()); } }} package MainFormPackage;import javax.microedition.lcdui.*;import PublicPackage.*;public class OddEvenView extends CustomItem implements ItemCommandListener ...{ // 320X240 private int rows = 15; // 行 private int cols = 15; // 列 private int dx = 14; private int dy = 17; private int x = 3; private int p = 6; private DrawBallType[] DrawBallData; // protected OddEvenView(String Title, Display d, int DrawBallLength, DrawBallType[] R, int Area) ...{ super(Title); rows = DrawBallLength + 1; DrawBallData = new DrawBallType[DrawBallLength]; CopyDrawBall(R, DrawBallData, DrawBallLength); SetListenerToTable(); } public void CopyDrawBall(DrawBallType[] Source, DrawBallType[] Targate, int Length) ...{ for (int i = 0; i < Length; i++) ...{ Targate[i] = new DrawBallType(); for (int j = 0; j < 6; j++) Targate[i].RedBall[j] = Source[i].RedBall[j]; Targate[i].BlueBall[0] = Source[i].BlueBall[0]; Targate[i].BlueBall[1] = Source[i].BlueBall[1]; Targate[i].Issure = Source[i].Issure; Targate[i].Str = Source[i].Str; } } public void SetListenerToTable() ...{ setItemCommandListener(this); } protected int getMinContentHeight() ...{ return (rows * dy) + 1; } protected int getMinContentWidth() ...{ return (cols * dy) + 1; } protected int getPrefContentHeight(int arg0) ...{ return (rows * dx) + 1; } protected int getPrefContentWidth(int arg0) ...{ return (cols * dx) + 1; } protected void paint(Graphics g, int w, int h) ...{ g.setColor(255, 128, 0); // 画横线 for (int i = 0; i < rows; i++) ...{ g.drawLine(0, i * dy, cols * dx, i * dy); } // 画竖线 g.drawLine(0 * dx + x * dx - p, 0, 0 * dx + x * dx - p, cols * dy); g.drawLine(2 * dx + x * dx - p, 0, 2 * dx + x * dx - p, cols * dy); g.drawLine(4 * dx + x * dx - p, 0, 4 * dx + x * dx - p, cols * dy); // 第一行 g.drawString(" 期号", 0, 0, Graphics.TOP | Graphics.LEFT); g.setColor(128, 64, 0); g .drawString("奇偶", 0 * dx + x * dx - p, 0, Graphics.TOP | Graphics.LEFT); g .drawString("和值", 2 * dx + x * dx - p, 0, Graphics.TOP | Graphics.LEFT); g .drawString("和值走势", 5 * dx + x * dx - p, 0, Graphics.TOP | Graphics.LEFT); // 其他行 int LastP = 0; for (int i = 0; i < rows - 1; i++) ...{ // 期号 g.setColor(125, 125, 125); g.drawString(DrawBallData[i].Str, 2, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); // int JJ, OO; JJ = 0; OO = 0; int NUM = 0; for (int j = 0; j < 6; j++) ...{ if ((DrawBallData[i].RedBall[j] % 2) == 0) OO++; else JJ++; NUM = NUM + DrawBallData[i].RedBall[j]; } g.setColor(0, 0, 64); g.drawString(String.valueOf(JJ) + ":" + String.valueOf(OO), 0 * dx + x * dx, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); g.setColor(128, 0, 0); g.drawString(String.valueOf(NUM), 2 * dx + x * dx, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); int Length = 4 * dx + x * dx - p; int Length1 = 4 * dx + x * dx - p; int ThisP = (int)(((NUM -21.0) / (183.0 - 21.0))*Length+Length1); g.setColor(0, 0, 255); g.fillArc(ThisP, (i + 1) * dy + 5, 10, 10, 0, 360); g.setColor(0, 0, 255); if (0 != LastP ) ...{ g.drawLine(LastP+5, (i) * dy + 10, ThisP+5, (i + 1) * dy + 10); } LastP = ThisP; } } public void commandAction(Command arg0, Item arg1) ...{ }} package MainFormPackage;import javax.microedition.lcdui.*;import DataBasePackage.RecordStoreE;import PublicPackage.*;public class TableForm extends Form implements CommandListener ...{ private Command CMD_PROP = new Command("后区", Command.ITEM, 1); private Command CMD_PROPP = new Command("前区", Command.ITEM, 0); private Command CMD_BACK = new Command("返回", Command.ITEM, 2); private TableView tableview; private Display display; private List mf; private String str; private int AreaSet = 0; public TableForm(String Title, Display d, List mainList,String s) ...{ super(Title); display = d; mf = mainList; str = s; addCommand(CMD_PROPP); addCommand(CMD_PROP); addCommand(CMD_BACK); RecordStoreE TempRec = new RecordStoreE(); TempRec.OpenDatabase(); DrawBallType[] TempDraw = TempRec.GetAllRecord(false); str ="[ "+ String.valueOf(AreaSet+1)+" ] 区域";; tableview = new TableView(str, d, TempDraw.length, TempDraw, AreaSet); append(tableview); setCommandListener(this); } public void commandAction(Command c, Displayable d) ...{ try ...{ if (c == CMD_PROP) ...{ deleteAll(); AreaSet ++; if (AreaSet > 4) AreaSet = 0; str ="[ "+ String.valueOf(AreaSet+1)+" ] 区域";; RecordStoreE TempRec = new RecordStoreE(); TempRec.OpenDatabase(); DrawBallType[] TempDraw = TempRec.GetAllRecord(false); tableview = new TableView(str, display, TempDraw.length, TempDraw, AreaSet); append(tableview); setCommandListener(this); } else if (c == CMD_PROPP) ...{ deleteAll(); AreaSet --; if (AreaSet < 0) AreaSet = 4; str ="[ "+ String.valueOf(AreaSet+1)+" ] 区域";; RecordStoreE TempRec = new RecordStoreE(); TempRec.OpenDatabase(); DrawBallType[] TempDraw = TempRec.GetAllRecord(false); tableview = new TableView(str, display, TempDraw.length, TempDraw, AreaSet); append(tableview); setCommandListener(this); }else if (c == CMD_BACK) ...{ display.setCurrent(mf); } } catch (Exception e) ...{ System.out.println(e.toString()); } }} package MainFormPackage;import javax.microedition.lcdui.*;import PublicPackage.*;public class TableView extends CustomItem implements ItemCommandListener ...{ // 320X240 private int rows = 15; // 行 private int cols = 15; // 列 private int dx = 14; private int dy = 17; private int x = 3; private int p = 6; private int AreaCode; private DrawBallType[] DrawBallData; // protected TableView(String Title, Display d, int DrawBallLength, DrawBallType[] R, int Area) ...{ super(Title); AreaCode = Area; rows = DrawBallLength + 1; DrawBallData = new DrawBallType[DrawBallLength]; CopyDrawBall(R, DrawBallData, DrawBallLength); SetListenerToTable(); } public void CopyDrawBall(DrawBallType[] Source, DrawBallType[] Targate, int Length) ...{ for (int i = 0; i < Length; i++) ...{ Targate[i] = new DrawBallType(); for (int j = 0; j < 6; j++) Targate[i].RedBall[j] = Source[i].RedBall[j]; Targate[i].BlueBall[0] = Source[i].BlueBall[0]; Targate[i].BlueBall[1] = Source[i].BlueBall[1]; Targate[i].Issure = Source[i].Issure; Targate[i].Str = Source[i].Str; } } public void SetListenerToTable() ...{ setItemCommandListener(this); } protected int getMinContentHeight() ...{ return (rows * dy) + 1; } protected int getMinContentWidth() ...{ return (cols * dy) + 1; } protected int getPrefContentHeight(int arg0) ...{ return (rows * dx) + 1; } protected int getPrefContentWidth(int arg0) ...{ return (cols * dx) + 1; } protected void paint(Graphics g, int w, int h) ...{ g.setColor(255, 128, 0); // 画横线 for (int i = 0; i < rows; i++) ...{ g.drawLine(0, i * dy, cols * dx, i * dy); } // 画竖线 for (int j = 0; j < cols; j++) ...{ g.drawLine(j * dx + x * dx - p, 0, j * dx + x * dx - p, cols * dy); } if (AreaCode == 3)//蓝号码 ...{ g.setColor(0, 125, 255); // 画横线 for (int i = 0; i < rows; i++) ...{ g.drawLine(5 * dx + p + 2, i * dy, cols * dx, i * dy); } // 画竖线 for (int j = 3; j < cols; j++) ...{ g.drawLine(j * dx + x * dx - p, 0, j * dx + x * dx - p, cols * dy); } g.setColor(255, 128, 0); } else if (AreaCode == 4) ...{ g.setColor(0, 125, 255); // 画横线 for (int i = 0; i < rows; i++) ...{ g.drawLine(0, i * dy, cols * dx, i * dy); } // 画竖线 for (int j = 0; j < cols; j++) ...{ g.drawLine(j * dx + x * dx - p, 0, j * dx + x * dx - p, cols * dy); } g.setColor(255, 128, 0); } // 第一行 if (AreaCode >= 3)// 蓝号码 ...{ if (AreaCode == 3) ...{ g.drawString(" 期号", 0, 0, Graphics.TOP | Graphics.LEFT); for (int k = 0; k < cols; k++) ...{ if (k < 3) ...{ g.setColor(255, 128, 0); g.drawString(String.valueOf((k) + 1 + (0 + AreaCode) * 10), k * dx + (x) * dx + 2 - p, 0, Graphics.TOP | Graphics.LEFT); } else ...{ g.setColor(0, 125, 255); g.drawString(String.valueOf(k - 2), k * dx + (x) * dx + 2 - p, 0, Graphics.TOP | Graphics.LEFT); } } g.setColor(255, 128, 0); } else if (AreaCode == 4) ...{ g.setColor(0, 125, 255); g.drawString(" 期号", 0, 0, Graphics.TOP | Graphics.LEFT); for (int k = 0; k < cols; k++) ...{ if (k + 8 != 17) g.drawString(String.valueOf(k + 8), k * dx + (x) * dx + 2 - p, 0, Graphics.TOP | Graphics.LEFT); } g.setColor(255, 128, 0); } } else ...{ g.drawString(" 期号", 0, 0, Graphics.TOP | Graphics.LEFT); for (int k = 0; k < cols; k++) ...{ g.drawString(String.valueOf((k) + 1 + (0 + AreaCode) * 10), k * dx + (x) * dx + 2 - p, 0, Graphics.TOP | Graphics.LEFT); } } if (AreaCode < 3) ...{ // 其他行 for (int i = 0; i < rows - 1; i++) ...{ //期号 g.setColor(125, 125, 125); g.drawString(DrawBallData[i].Str, 2, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); // for (int j = 0; j < 6; j++) ...{ if ((DrawBallData[i].RedBall[j] <= (1 + AreaCode) * 10) && (DrawBallData[i].RedBall[j] > (0 + AreaCode) * 10)) ...{ g.setColor(255, 0, 0); int ArrIndexvalue = DrawBallData[i].RedBall[j] - (0 + AreaCode) * 10; int value = DrawBallData[i].RedBall[j]; int values = 0; values = (ArrIndexvalue) * dx + (x - 1) * dx + 4 - p; if (value > 9) values = values - 4; int valuess = 0; valuess = (ArrIndexvalue) * dx + 1 + (x - 1) * dx - p; //g.fillRect(valuess, (i + 1) * dy + 1, dx - 2, dy - 2); g.fillArc(valuess-1, (i + 1) * dy + 1, dx+2, dx+2, 0, 360); g.setColor(255, 255, 255); g.drawString(String.valueOf(value), values+1, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); } } } } else if (AreaCode == 3) ...{ // 其他行 for (int i = 0; i < rows - 1; i++) ...{ //期号 g.setColor(125, 125, 125); g.drawString(DrawBallData[i].Str, 2, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); for (int j = 0; j < 6; j++) ...{ if ((DrawBallData[i].RedBall[j] <= (1 + AreaCode) * 10) && (DrawBallData[i].RedBall[j] > (0 + AreaCode) * 10)) ...{ g.setColor(255, 0, 0); int ArrIndexvalue = DrawBallData[i].RedBall[j] - (0 + AreaCode) * 10; int value = DrawBallData[i].RedBall[j]; int values = 0; values = (ArrIndexvalue) * dx + (x - 1) * dx + 4 - p; if (value > 9) values = values - 4; int valuess = 0; valuess = (ArrIndexvalue) * dx + 1 + (x - 1) * dx - p; //g.fillRect(valuess, (i + 1) * dy + 1, dx - 2, dy - 2); g.fillArc(valuess-1, (i + 1) * dy + 1, dx+2, dx+2, 0, 360); g.setColor(255, 255, 255); g.drawString(String.valueOf(value), values+1, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); } } //画蓝球 for (int j = 0; j < 2; j++) ...{ if ((DrawBallData[i].BlueBall[j] <= 7)&&(DrawBallData[i].BlueBall[j] > 0))...{ g.setColor(255, 0, 0); int ArrIndexvalue = DrawBallData[i].BlueBall[j]; int value = DrawBallData[i].BlueBall[j]; int values = 0; values = (ArrIndexvalue) * dx + (x - 1+3) * dx + 4 - p; if (value > 9) values = values - 4; int valuess = 0; valuess = (ArrIndexvalue) * dx + 1 + (x - 1+3) * dx - p; g.setColor(0, 0, 255); //g.fillRect(valuess, (i + 1) * dy + 1, dx - 2, dy - 2); g.fillArc(valuess-1, (i + 1) * dy + 1, dx+2, dx+2, 0, 360); g.setColor(255, 255, 255); g.drawString(String.valueOf(value), values+1, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); } } } } if (AreaCode == 4) ...{ // 其他行 for (int i = 0; i < rows - 1; i++) ...{ //画蓝球 //期号 g.setColor(125, 125, 125); g.drawString(DrawBallData[i].Str, 2, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); for (int j = 0; j < 2; j++) ...{ if ((DrawBallData[i].BlueBall[j] <= 16)&&(DrawBallData[i].BlueBall[j] > 7))...{ g.setColor(255, 0, 0); int ArrIndexvalue = DrawBallData[i].BlueBall[j]; int value = DrawBallData[i].BlueBall[j]; int values = 0; values = (ArrIndexvalue) * dx + (x - 1-7) * dx + 4 - p; if (value > 9) values = values - 4; int valuess = 0; valuess = (ArrIndexvalue) * dx + 1 + (x - 1-7) * dx - p; g.setColor(0, 0, 255); //g.fillRect(valuess, (i + 1) * dy + 1, dx - 2, dy - 2); g.fillArc(valuess-1, (i + 1) * dy + 1, dx+2, dx+2, 0, 360); g.setColor(255, 255, 255); g.drawString(String.valueOf(value), values+1, (i + 1) * dy, Graphics.TOP | Graphics.LEFT); } }} } } public void commandAction(Command arg0, Item arg1) ...{ System.out.print("aaaaaaaaaa"); }}