程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> JavaMe開發:繪制文本框TextEdit(4)

JavaMe開發:繪制文本框TextEdit(4)

編輯:J2ME

7 PopUpTextBox輸入值處理

依據調用的對象,以及編輯對象,對輸入的值進行處理,傳遞給父對象編輯框

  1. if(object_name.equals("registScreen"))
  2. {
  3. if(editor.equals("regist_name"))
  4. {
  5. if(args_t[3]!=""||args_t[3]!=null||args_t[4]!=""||args_t[4]!=null)
  6. {
  7. args[0] = object_name;
  8. args[1] = editor;
  9. args[2] = this.canvasText;
  10. args[3] = args_t[3];
  11. args[4] = args_t[4];
  12. }
  13. controller.handleEvent(UIController.EventID.EVENT_USER_REGIST_EDIT_BACK,args);
  14. }
  15. else if(editor.equals("regist_passwd"))
  16. {
  17. if(args_t[2]!=""||args_t[2]!=null||args_t[4]!=""||args_t[4]!=null)
  18. {
  19. args[0] = object_name;
  20. args[1] = editor;
  21. args[2] = args_t[2];
  22. args[3] = this.canvasText;
  23. args[4] = args_t[4];
  24. }
  25. controller.handleEvent(UIController.EventID.EVENT_USER_REGIST_EDIT_BACK,args);
  26. }
  27. else if(editor.equals("regist_passwd_re"))
  28. {
  29. if(args_t[2]!=""||args_t[2]!=null||args_t[3]!=""||args_t[3]!=null)
  30. {
  31. args[0] = object_name;
  32. args[1] = editor;
  33. args[2] = args_t[2];
  34. args[3] = args_t[3];
  35. args[4] = this.canvasText;
  36. }
  37. controller.handleEvent(UIController.EventID.EVENT_USER_REGIST_EDIT_BACK,args);
  38. }
  39. }

8 輸入值的顯示

(1) 新建對象

  1. private TextEdit textEdit_name;
  2. textEdit_name = new TextEdit(this);

(2) 接受輸入的參數

  1. object_name = ((String)args[0]!=null)?(String)args[0]:"";
  2. editor = ((String)args[1]!=null)?(String)args[1]:"";
  3. username = ((String)args[2]!=null)?(String)args[2]:"";
  4. passwd = ((String)args[3]!=null)?(String)args[3]:"";
  5. passwd_re = ((String)args[4]!=null)?(String)args[4]:"";

(3) 光標控制,定位到編輯對象,控制編輯對象的光標閃爍(run方法)

  1. private void redraw()
  2. {
  3. switch(currentlySelectedIndex)
  4. {
  5. case 0:
  6. {
  7. cursorBlinkOn2 = false;
  8. cursorBlinkOn3 = false;
  9. editor = "regist_name";
  10. break;
  11. }
  12. case 1:
  13. {
  14. cursorBlinkOn1 = false;
  15. cursorBlinkOn3 = false;
  16. editor = "regist_passwd";
  17. break;
  18. }
  19. case 2:
  20. {
  21. cursorBlinkOn1 = false;
  22. cursorBlinkOn2 = false;
  23. editor = "regist_passwd_re";
  24. break;
  25. }
  26. default:;
  27. }
  28. //...
  29. }

(4) 編輯框的繪制

  1. private void redraw()
  2. {
  3. ...
  4. textEdit_name.drawTextBox(this, graphics, username, textEdit_name_x, textEdit_name_y, cursorBlinkOn1);
  5. textEdit_passwd.drawTextBox(this, graphics, passwd, textEdit_passwd_x, textEdit_passwd_y, cursorBlinkOn2);
  6. textEdit_passwd.drawTextBox(this, graphics, passwd_re, textEdit_passwd_re_x, textEdit_passwd_re_y, cursorBlinkOn3);
  7. textEdit_name.flushGraphics();
  8. }

實現的效果如圖1所示:


圖1 編輯框效果

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved