2010-05-11 63 views
1

我正在使用LWUIT获取List中的选择搜索工具。 现在我想知道如何显示CheckBoxes的列表?使用LWUIT的复选框列表

list=new List(vector); 
cform.addComponent(list); 
cform.addComponent(t); 
cform.show(); 

回答

5

我不知道是否有一个更简单的解决方案,然后我的,但我的高度可定制的,可以用于很多目的。

List l = new List; 

Vector v = new Vector(); 
for(int i = 0; i < 10; ++i){ 
    v.addElement(new CheckItem("itemtekst")); 
} 

l.setListCellRenderer(new CheckItemRenderer()); 
l.setModel(new CheckItemModel(v)); 

上面的代码使它工作。正如你所猜测的,你必须创建一个新的类并重写两个才能使其工作。

CHECKITEM:这个类有一个字符串和一个图像。以及制定者和获得者。它也有一个布尔值,显示它是否被选中。

CHECKITEMRENDERER:有串一个标签,它扩展了集装箱和实现ListCellRenderer

CHECKITEMMODEL的checkitem的图像:这扩展了defaultlistmodel。它有方法来获取checkeditems并设置它们的选中或取消选中。

回顾一下:

  • 设置在载体
  • 正确的项目设置正确的渲染
  • 设置正确的模型

,并用它添加一个ActionListener,否则将没有用。

+1

这是一个很好的方法,它适用于所有版本的LWUIT。 LWUIT 1.5引入了GenericListCellRenderer,它是为GUI构建器设计的,您可以在其中直观地设计复选框列表渲染器。查看1.5发行版中的Tzone Friends演示,当您添加新朋友时,您会看到使用GUI构建器创建的复选框列表。 – 2011-10-09 08:20:02