当前位置: 代码迷 >> J2ME >> lwuit LIST怎么横向滚动
  详细解决方案

lwuit LIST怎么横向滚动

热度:1160   发布时间:2013-02-25 21:38:15.0
lwuit LIST如何横向滚动
我采用了网上一位牛人写的LIST (LWUIT)表格实现我的表格,经过调试发现设置form.setScrollabe(false)就可以实现竖向滚动,但
怎么调也调不出来横向的滚动,想来这里求教一下,希望各位高手帮忙.
Java code
package com.onest.xmair.test;import com.sun.lwuit.Component;import com.sun.lwuit.Container;import com.sun.lwuit.Label;import com.sun.lwuit.List;import com.sun.lwuit.events.ActionListener;import com.sun.lwuit.layouts.BorderLayout;import com.sun.lwuit.layouts.BoxLayout;import com.sun.lwuit.list.ListCellRenderer;import com.sun.lwuit.plaf.Border;public class Cls_CellList {    static public List createList(CellList[] celllist,int stringWidth,ActionListener lAListner) {        List list = new List(celllist);                list.getStyle().setBgTransparency(0);        //开始显示List        list.setListCellRenderer(new CellRenderer(celllist[0].getColumm().length, stringWidth));        //添加消息处理        list.addActionListener(lAListner);        return list;    }     static public class CellRenderer extends Container implements ListCellRenderer {        //初始化显示Columm每个字段的Label        private Label[] lbColumm ;        private Label focus = new Label("");        public CellRenderer(int size,final int stringWidth) {            lbColumm = new Label[size];            setLayout(new BorderLayout());            Container cnt = new Container(new BoxLayout(BoxLayout.X_AXIS));            for(int i=0; i < lbColumm.length; i ++)//定义显示Columm每个字段的Label            {                lbColumm[i] = new Label(){                    //很多人都问怎么setWidth平时没什么用,这是因为setWidth必须在重载的时候使用,LWUIT奇怪的地方之一!                    public void setWidth(int arg0) {                        super.setWidth(stringWidth);                    }                };                //设置为最亮的颜色                lbColumm[i].getStyle().setFgColor(getStyle().getFgSelectionColor());                //设置背景为透明,不然会遮挡focus影响外观                lbColumm[i].getStyle().setBgTransparency(0);                // 新增代码                lbColumm[i].setFocusable(true);                cnt.addComponent(lbColumm[i]);            }            // 新增代码            cnt.setFocusable(true);            //cnt.setScrollableX(true);            //cnt.setScrollableY(true);                        addComponent(BorderLayout.CENTER, cnt);            focus.getStyle().setBgTransparency(255);            focus.getStyle().setBorder(Border.createRoundBorder(10, 10));        }        public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected) {                        CellList cellList = (CellList) value;            for(int i=0;i<lbColumm.length;i++)            {                lbColumm[i].setText(cellList.getColumm()[i]);            }                        return this;        }        public Component getListFocusComponent(List list) {            //Columm栏不具备选中事件            if(list.getSelectedIndex()>0) {                return focus;            }            return null;        }    }    static public class CellList {        //保存该列的所有字段        private String[] lstColumm;                public CellList(String[] columm) {            //复制数组            lstColumm=new String[columm.length];            System.arraycopy(columm, 0, lstColumm, 0, lstColumm.length);         }                //返回该列        public String[] getColumm(){           return lstColumm;        }    }}


------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
綫程可以嗎?
------解决方案--------------------------------------------------------
List.setOrientation(int orientation)

setOrientation

public void setOrientation(int orientation)

Sets the list orientation HORIZONTAL or VERTICAL

Parameters:
orientation - the list orientation HORIZONTAL or VERTICAL
  相关解决方案