0

现在我尝试通过 Canvas 绘制表格,但我有一个问题,我的表格没有可滚动的。

我如何编写一些代码来帮助我的表格可以滚动?

我的代码在这里

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

/**
 *
 * @author Kency
 */
public class TableCanvas extends Canvas{

    private int w,h;
    private int pad;
    private int cols = 3;
    private int rows = 10;

    public TableCanvas() {
        w = getWidth();
        h = getHeight();


    }




    protected void paint(Graphics g) {
        g.setColor(148, 178, 255);
        g.fillRect(0, 0, w, h);
        for(int i =0 ; i <= cols ; i++){
            g.setColor(0x00D0D0D0);

            for(int j = 0 ; j <= rows ; j++){
                g.drawLine(0, j *  h/rows, cols * w, j* h/rows);
                g.drawLine(i * w/cols, 0, i * w/cols, w * rows);
            }
        }



    }

}
4

1 回答 1

0

对于您摘录中的代码,最直接的方法可能是使用Graphics#translate API。

还必须处理按键/指针事件以允许用户滚动。例如,当按键对应于游戏动作右/左/上/下时,您分别滚动。拖动指针时,您会找到方向,然后再次分别滚动

绘制滚动条也需要“手工”代码。

另一种选择是使用 3rd 方库,如LWUITJ2ME Polish

于 2011-09-21T20:18:32.763 回答