<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    手游學習筆記三

    Posted on 2007-06-04 11:52 my 閱讀(313) 評論(0)  編輯  收藏 所屬分類: 手機相關
    除了基于屏幕的組件外,你還應該掌握使用表單把多個組件組織到一個屏幕上去。這一部分將討論Form類和可以放置到表單上去的組件。

       1. Form

      一個表單對象是一個screen,它可以包含任意的項,包括只讀的和可編輯的文本框,圖像,日期域,gauge以及選項組組件。前面已提到,任何Item類的子類都可以放置到表單對象上去。Form類的構造器如下:

    public Form(String title);
    public Form(String title, Item[] items);

      第一個構造器創建一個空的表單,僅有一個標題。第二個構造器創建一個含有標題和初始內容的表單。如,下面的程序創建一個空的表單,其標題是"Choose an Item",
            Form form = new Form("Choose an Item");

      Form對象并不使用任何布局管理器。代之的是,Form對象將象一個列表一樣安排它的組件,通常是從頂到底。就象一個列表中的選項,表單中的各個項可以進行編輯,如插入,添加和刪除。Form類的方法列舉如下。

      把一個圖像加到表單的結尾,可以用:

    public int append(Image img);
      下面方法添加一個Item 的子類化對象到表單的結尾:

    public int append(Item item);
      下面方法添加一個字符串到表單的結尾:

    public int append(String str);
      下面方法刪除表單上在給定位置的項,同時改變表單的大小:

    public void delete(int itemNum);
      你可以使用下面方法存取表單上的任何項,而表單內容保持不變。

    public Item get(int itemNum);
      下面方法在表單上插入一項,插在指定索引的前面:

    public void insert(int itemNum, Item item);
      下面方法替換表單上的前一項:

    public int set(int itemNum, Item item);
      最后,你可用下面size( )方法來查找表單上的項的當前序號:

    public int size( );
      可以放置到一個表單上去的GUI組件有:ChoiceGroup,DateField,Gauge,ImageItem,StringItem和TextField。所有這些都是抽象類Item 的子類。稍后,我們將看到如何把這些項放置到屏幕上去。首先讓我們依次作一下介紹。

      2. Item

      Item抽象類用作可以放置到表單或者alert上的組件的基類。所有的Item對象都有一個標簽(如有一個字符串依附到其上),這可以用下面方法存取:

    public String getLabel( );
    public void setLabel(String s);

      該抽象類僅有這兩個方法。

      3. ChoiceGroup

      ChoiceGroup對象描述了一組放置在表單上的可選擇的選項。類似于List類,它也實現了Choice接口,而且還繼承了Item抽象類。該對象可以指明選擇一項,或者進行多個選擇。ChoiceGroup類構造器如下:

    public ChoiceGroup(String label, int choiceType);
    public ChoiceGroup(String label, int choiceType,String[] stringElements, Image[] imageElements);

      第一個構造器創建一個空的ChoiceGroup組件,同時指明其標簽和類型。既然該類實現了接口Choice,你可能想到應該有三種選擇。但是,在使用一個ChoiceGroup組件時,只有兩個選項可用: EXCLUSIVE和MULTIPLE。IMPLICIT類型不適用于ChoiceGroup,就象對于List組件一樣。在一個表單中不需要有一個象菜單的選項域(記住EXCLUSIVE方式只允許一次選擇一項;MULTIPLE方式則允許一次選擇多個項)。

      第二個ChoiceGroup構造器用于創建一個新的ChoiceGroup對象,同時指明其標簽和類型,還有一個字符串數組和一個圖像數組來設置它的初始值。

      一旦你創建一個空的選擇,你就可以插入,添加或替換其中的選項,就象在一個List組件上一樣。而且,每一個選項有一個整數索引值來代表其在列表中的位置。第一個選項從0開始,最后一項索引值是該列表的最大長度減1。ChoiceGroup 類提供了下面方法來完成這些操作。

    public int append(String stringElement, Image imageElement);
    public void insert(int index, String stringElement, Image imageElement);
    public void set(int index, String stringElement, Image imageElement);

      注意一個選項由一個字符串和一個可選的圖像組成。如,下面代碼演示了如何添加幾個選項到前述的列表中。注意,方法append( )返回一個索引值(正是我們創建該項時指定給它的),以備后面之用。

    int saveIndex = list.append("save", null);
    int deleteIndex = list.append("delete", null);

      而且,你可以用下面方法從該選項組中刪除任何索引:

    public void delete(int index);
      如果你想檢索任何索引指定的串元素或圖像元素,可用下面方法:

    public String getString(int index);
    public Image getImage(int index);

      如果你想設置,取消設置,檢索當前選項組中選擇的索引,或者查詢任何索引以確定它是否為當前選定的項,可以用下面方法:

    public int getSelectedIndex( )
    public boolean isSelected(int index);
    public setSelectedIndex(int index, boolean selected);

      最后,就象操作List組件一樣,你可以使用一個布爾選項標志數組為設置整個選項組的選擇狀態。注意,getSelectedFlags( )方法并不返回一個布爾數組,而是修改一個已傳入的布爾數組(并作為一種優化技術,返回以整數形式表示的被選取的元素的序號)。該數組的長度至少要等于該列表中元素數目,如果還長一些,其余的數組元素值被置為false。

    public int getSelectedFlags(boolean[] selectedArray);
    public void setSelectedFlags(boolean[] selectedArray);

      對于MULTIPLE型的列表,setSelectedFlags( )用于設置在列表中每個元素的狀態。對于EXCLUSIVE型的列表,布爾數組中只有一項可為true;如果沒有為true的元素,則第一個元素被選中。如果有兩個或者多個元素為true,系統選擇第一個為true的元素并選擇之。
    下面語句創建一個新的空ChoiceGroup對象,其標題為"Selection",類型為EXCLUSIVE:

    ChoiceGroup choices = new ChoiceGroup("Method of payment", Choice.EXCLUSIVE);
      下面代碼把幾個新的選項添加到選擇組上。

    choices.append("Visa", null);
    choices.append("Master Card", null);
    choices.append("Amex", null);

      類似于一個列表中的選項,在一個選項組中的項可以用插入,添加,刪除等方法進行編輯。而且,每一個選項被其索引值所參照。如,下面一句可刪除最后一項:

    choices.delete(2);
      特別注意,一旦一個選項組被創建并投入使用,你不可能象操作列表一樣,用setCurrent( )方法來顯示之。一個選項組是Item的子類,必須放置到表單上去,表單對象是可用方法setCurrent( )顯示的。

    Form form = new Form("Choose one");
    form.append(choices);
    Display.setCurrent(form);

     

    posts - 63, comments - 45, trackbacks - 0, articles - 99

    Copyright © my

    主站蜘蛛池模板: 猫咪社区免费资源在线观看| 中文字幕在亚洲第一在线| 婷婷国产偷v国产偷v亚洲| 亚洲国产精品人人做人人爽| 国产成人精品无码免费看| 亚洲一日韩欧美中文字幕在线| 久久亚洲av无码精品浪潮| 37pao成人国产永久免费视频| 亚洲人av高清无码| 久久精品国产亚洲av四虎| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 666精品国产精品亚洲| 日日夜夜精品免费视频| 日韩电影免费在线观看| 亚洲高清乱码午夜电影网| 久久久亚洲AV波多野结衣| 亚洲av午夜成人片精品电影| 蜜臀AV免费一区二区三区| h在线看免费视频网站男男| 亚洲另类无码专区丝袜| 亚洲第一福利网站| 亚洲毛片网址在线观看中文字幕 | 美丽姑娘免费观看在线观看中文版 | 亚洲欧美日韩国产精品一区| 国产精品亚洲а∨无码播放| 日韩中文字幕免费| 91嫩草免费国产永久入口| 巨胸喷奶水www永久免费| 亚洲日韩亚洲另类激情文学| 五月天网站亚洲小说| 亚洲精品无码激情AV| 成年18网站免费视频网站| 日韩精品无码免费一区二区三区| 一二三四在线观看免费中文在线观看| 亚洲午夜电影在线观看| 九月丁香婷婷亚洲综合色| 一本久久综合亚洲鲁鲁五月天| 成人毛片免费在线观看| 四虎在线视频免费观看视频| 免费看搞黄视频网站| 成在线人视频免费视频|