多選模式、多介面實現、螢幕切換練習

來源:互聯網
上載者:User

package chapter04;

import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/*
 * 作者:Jcuckoo
 * 日期:2008-10-27
 * 功能:多選模式、多介面實現、螢幕切換練習
 */
public class MulChoiceGroupMIDlet extends MIDlet implements ItemStateListener,CommandListener{
 private Display display;
 private Form form;
 private TextBox textBox;
 private Command exitCommand;
 //單選模式
 //private ChoiceGroup cg=new ChoiceGroup("工資水平:",Choice.EXCLUSIVE);
 //零或多選模式
 private ChoiceGroup cg=new ChoiceGroup("工資水平:",Choice.MULTIPLE);
 //彈出模式
 //private ChoiceGroup cg=new ChoiceGroup("工資水平:",Choice.POPUP);
 public MulChoiceGroupMIDlet() {
  display=Display.getDisplay(this);
  form =new Form("");

  textBox=new TextBox("你選中的內容是:","",300,0);
  exitCommand=new Command("返回",Command.SCREEN,1);

  //向cg組件中添加選項
  cg.append("600以下", null);
  cg.append("600~1000", null);
  cg.append("3000~5000", null);
  cg.insert(2, "1000~3000", null);

  //刪除指定的選項
  //cg.delete(1);

  //刪除所有的選項
  //cg.deleteAll();
  
  //將cg添加到form中
  form.append(cg);

  //註冊監聽事件
  form.setItemStateListener(this);

  //將退出按鈕添加到textBox
  textBox.addCommand(exitCommand);


  //註冊監聽事件
  textBox.setCommandListener(this);

 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
 }

 protected void pauseApp() {
 }

 protected void startApp() throws MIDletStateChangeException {
  display.setCurrent(form);
 }

 public void itemStateChanged(Item item) {
  String str="";

  //擷取組件cg的大小
  int num=cg.size();
  System.out.println(num);

  //建立1個boolean數組,用來存放cg組件中各項狀態
  boolean [] status=new boolean[num];

  //擷取cg各項狀態,並存放到status數組中
  cg.getSelectedFlags(status);

  //迴圈顯示數組中的內容
  for(int i=0;i<num;i++){
   System.out.println(status[i]);
  }

  //擷取數組中為真(即被選擇的選項)的內容
  for(int i=0;i<num;i++){
   if(status[i]){
    str=str+cg.getString(i)+"/n";
   }
  }

  //對應內容用textBox來顯示
  textBox.setString(str);

  //利用螢幕管理器,進行螢幕切換
  display.setCurrent(textBox);
 
 }

 public void commandAction(Command c, Displayable d) {
  if(c==exitCommand){


   //利用螢幕管理器,進行螢幕切換
   display.setCurrent(form);
  }

  
 }

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.