DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 移动应用 > JavaME

四、常用组件[DBMNG网J2ME入门开发教程]

Form与Item
Form是惟一可以在界面上添加组件的类。

  Form form = new Form("窗口标题")

从Item继承的子类都可以添加到Form中。(MIDP2.0)
  1. StringItem
      StringItem("标题", "文本")  //显示为: 标题文本
      StringItem("标题", "文本", 类型)
        类型:Item.PLAIN  -- 普通
                Item.BUTTON  -- 按钮
                Item.HYPERLINK --超链接
             BUTTON、HYPERLINK类型需要setDefaultCommand(cmd)来设置一个默认的按钮组件,并用setItemCommandListener(MIDlet) <注:不是setCommandListener,因此需要引用ItemCommandListener接口>

  2. TextField
       TextField("标签", "初始文本", 最大长度, 类型)
          类型:同TextBox (TextBox是Screen的子类)
        getString()方法取文本框中的值。

  3. DateField
     日期、时间输入
     DateField("标签", 输入模式)
     DateField("标签", 输入模式, 时区)
       输入模式:DateField.DATE - 只输入日期
                    DateField.TIME - 只输入时间
                    DateField.DATE_TIME - 同时输入日期、时间
      
     setDate() 方法 设置输入框的日期、时间
     getDate() 方法 取得输入框中的日期、时间
     Calendar.get()方法可以取得输入的年、月、日等数值。

  4. Gauge
     进度条
     Gauge("标签", 是否交互模式, 最大值, 初始值)
     初始值 >= 0 and <= 最大值,否则IllegalArgumentExceptin异常。
     非交互模式:setValue()方法设置Gauge的当前值。
     交互模式:可通过左右键指定当前值。

  5. ChoiceGroup
     与List类似
     ChoiceGroup("标签", 类型)
     ChoiceGroup("标签", 类型, {"列表项目", ...}, {图标, ..})
    类型:Choice.EXCLUSIVE - 单选
           Choice.MULTIPLE - 多选
           Choice.POPUP - 弹出菜单单选

  6. ImageItem
     显示一个Image对象。
     ImageItem("标签", 图片, 布局, altText)
     ImageItem("标签", 图片, 布局, altText, 显示样式)
     布局:
         ImageItem.LAYOUT_DEFAULT
         ImageItem.LAYOUT_LEFT
         ImageItem.LAYOUT_RIGHT
         ImageItem.LAYOUT_CENTER
         ImageItem.LAYOUT_NEWLINE_BEFORE
         ImageItem.LAYOUT_NEWLINE_AFTER
     altText: 当图片不能显示时,显示此文字
     样式:同StringItem有: Item.PLAIN、Item.HYPERLINK、Item.BUTTON

     Form还有个append(Image img)方法,可添加简单显示的图像。

  7. Spacer
     在Item组个间加间隔。
     Spacer(最小宽度, 最小高度)

  8. CustomItem
      用来创建自定义外观的Item组件。
      抽象类,必须实现下抽象方法:
         protected abstract int getMinContentHeight()   //返回最小区域的高度
         protected abstract int getMinContentWidth()   //返回最小区域的宽度
         protected abstract int getPrefContentHeight(int width) //返回最佳区域的宽度
         protected abstract int getPrefContentWidth(int height) //返回最佳区域的宽度
         protected abstract void paint(Graphics g, int w, int h)  //画组件

  9. Alert
    消息提示框。
    public Alert("标题")
    public Alert("标题", "提示内容", 图标, 类型)
      类型:
         AlertType.ALARM - 闹铃信息
         AlertType.CONFIRMATION - 确认信息
         AlertType.ERROR - 出错信息
         AlertType.INFO - 提示信息
         AlertType.WARNING - 警告

注:
1. 根据MIDP 规范,永远不要从MIDlet 的构造方法中调用getDisplay()方法,因为此时应用程序管理器能会错误地初始化该方法。

 


final关键字的作用

final - 最终的

加了final关键字的变量、方法、类不能被继承、覆盖。

一旦初始化后,就不能再变化。


List组件

列表框,Screen的子类。

构造:
  List list = new List("标题", 类型)  创建一个空的列表

  List list = new List("标题", 类型, 列表字符串数组, 列表项图片数组)  以第3、4个参数为初始列表项目创建一个列表框。

list.size() - 得到列表项目数。

  类型:
     List.EXCLUSIVE 单选列表框
         getSelectedIndex() - 得到第几个列表项被选中。
         getString(int index) - 得到第index项的文字。
         与Comand和CommandListener一起使用来确认选择。
           Command okCmd = new Command("确认", Command.OK, 1);
           list.addCommand(okCmd);
           list.setCommandListener(this);


     List.MULTIPLE 多选列表框
         不能用getSeelctedIndex()方法。 要用isSelected(int index)来检测index项是否被选中。
         还可以用getSelectedFlags(boolean[] flags),通过布尔类型数组flags来确定各项目的选择情况。


     List.IMPLICIT  也是单选列表,提供一个Command对象,可能用这个类型的列表来做为程序菜单。
        在commandAction中可直接引用List.SELECT_COMMAND来执行相应的代码:
             if (c == List.SELECT_COMMAND) {

             }
         也可以用setSelectCommand(Command command)方法来指定一个自定义的Command对象。
           

附:
  字符串数组: private String[] strAry = {"一", "二", "三"};
  图标:
     Image img1 = null;
     Image img2 = null;
     try {
       img1 = Image.createImage("/img1.png");
       img2 = Image.createImage("/img2.png");
     catch (Exception ioExc) {}
     Image[] imgAry = {img1, img2};

for循环:
    for (int i = 0; i < iCount; i++) {

    }

StringBuffer - 可用来处理字符串的连接。


TextBox组件

Screen的一个子类

构造方法:
textBox = new TextBox("标题文本", "默认显示在文本框中的文字", 最多字符个数, 类型);
  类型参数取值:

TextField.ANY 任意字符
TextField.EMAILADDR Email地址
TextField.NUMERIC 整数
TextField.PHONENUMBER 电话号码
TextField.URL URL地址
TextField.DECIMAL 小数
OR  
TextField.PASSWORD 密码*显示
TextField.UNEDITABLE 只读
TextField.SENSITIVE 敏感内容,不使用联想或自动完成
TextField.INITIAL_CAPS_WORD 自动将每个单词的首字母改成大写
TextField.INITIAL_CPAS_SENTENCE 将每句话首字母改成大写

 

方法:
getTitle();  获取文本框标题文本
setTitle(String title);  设置文本框标题
getTicker();  得到设置给文本框的Ticker对象
setTicker(Ticker ticker); 给文本框设置一个Ticker对象

   Ticker对象:
        Ticker ticker = new Ticker("这一个滚动显示的文字");
        textBox.setTicker(ticker);

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号