j2me 实现翻页功能的一个小例子

本文介绍了一个简单的Java ME应用示例,展示了如何使用自定义Canvas来显示分页的表格数据,并实现了基本的翻页功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /*
 create time: 2008-8-30 Administrator
 */
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class PageMessage extends MIDlet {

 public cCanvas canvas;

 public PageMessage() {
  canvas = new cCanvas();
 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  // TODO Auto-generated method stub

 }

 protected void pauseApp() {
  // TODO Auto-generated method stub

 }

 protected void startApp() throws MIDletStateChangeException {
  // TODO Auto-generated method stub
  Display.getDisplay(this).setCurrent(canvas);
 }

}

class cCanvas extends Canvas {
 public String message[][] = { { "订单号", "股票名称", "价格", "数量" },
   { "bbb", "bbb", "bbb", "bbb" }, { "ccc", "bbb", "bbb", "bbb" },
   { "ddd", "bbb", "bbb", "bbb" }, { "eee", "bbb", "bbb", "bbb" },
   { "fff", "bbb", "bbb", "bbb" }, { "ggg", "bbb", "bbb", "bbb" } };

 private static int startindex, currentindex, LINENUM = 3, COLNUM = 4;

 public cCanvas() {

 }

 protected void paint(Graphics g) {
  g.setColor(255, 255, 255); //刷屏
  g.fillRect(0, 0, getWidth(), getHeight());

  g.setColor(0); //设置显示字体颜色

  drawPageStudentMessage(g);

  drawSoftKey(g); //画左右键
 }

 public void drawSoftKey(Graphics g) {
  g.setColor(0); //设置显示字体颜色
  g.drawString("返回", 2, getHeight() - 2, Graphics.LEFT | Graphics.BOTTOM);
  g.drawString("下页", getWidth() - 2, getHeight() - 2, Graphics.RIGHT
    | Graphics.BOTTOM);
 }

 //数据内容,实现翻页功能
 public void drawPageStudentMessage(Graphics g) {
  for (int currentindex = startindex; (currentindex < startindex
    + LINENUM)
    && currentindex < message.length; currentindex++) {
   for (int col = 0; col < COLNUM; col++) {
    g.drawString(message[currentindex][col], 60 * col,
      20 * (currentindex % LINENUM), Graphics.LEFT
        | Graphics.TOP);
   }
  }
 }

 public static int page;

 protected void keyPressed(int keyCode) {
  if (keyCode == -7) //点击右键 翻页
  {
   if (page < message.length / LINENUM)
    page++;

   startindex = (page * LINENUM);
  }
  if (keyCode == -6) //点击左键 翻页
  {
   if (page > 0)
    page--;

   startindex = (page * LINENUM);
  }
  repaint();
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值