Lwuit 当文本字段位于列表中时,如何使其可编辑?

Lwuit 当文本字段位于列表中时,如何使其可编辑?,lwuit,lwuit-textfield,lwuit-list,Lwuit,Lwuit Textfield,Lwuit List,有一个包含文本字段的列表。问题是这些字段不可编辑!以下是代码: public formConstructor() { ... private Vector vList = new Vector(); // datasource of the list private CListCellProduits listRenderer; private List list; ... listRendere

有一个包含文本字段的列表。问题是这些字段不可编辑!以下是代码:

    public formConstructor()
    {
       ...
       private Vector vList = new Vector(); // datasource of the list
       private CListCellProduits listRenderer;
       private List list;
       ...
       listRenderer          = new CListCellProduits(20);
       vList.addElement(new String("P001;"));
       vList.addElement(new String("P002;"));
       list             = (new ListUtil(vList)).createList(listRenderer);
       addComponent(list);
       ...
    }

    public class CListCellProduits extends Container implements ListCellRenderer {
        private Label focus = new Label("");
        private Label lData;
        private Champ sortie = new Champ("123", TextArea.NUMERIC);
        private Champ dispo = new Champ("123", TextArea.NUMERIC);
        private int widthCommun;
        private Container cRow1 = new Container(new BoxLayout(BoxLayout.X_AXIS));

        public CListCellProduits(int widthCommun)
        {
            super();
            setLayout(new BoxLayout(BoxLayout.Y_AXIS));

            lData = new Label("");

            sortie.setPreferredW(widthCommun);
            dispo.setPreferredW(widthCommun);
            this.widthCommun = widthCommun;

            cRow1.addComponent(lData);
            cRow1.addComponent(sortie);
            cRow1.addComponent(dispo);
            addComponent(cRow1);
        }
        public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected)
        {
            Content entry = null;
            if (value instanceof Content)
                entry = (Content)value;
            if (!"".equals(entry.getColumn(0)))
                lData.setText(entry.getColumn(0));
            else
                lData.setText("-");
            lData.setPreferredW(widthCommun);
            list.repaint();

            return this;
        }
        public Component getListFocusComponent(List arg0)
        {
            return focus;
        }
    }

    public class ListUtil {

        private Vector data = new Vector();
        private Content[] contents;

        public ListUtil(Vector vData)
        {
            data = vData;
            contents = new Content[vData.size()];
        }

        public List createList(CListCellProduits renderer)
        {
            CList theList;
            for(int i = 0; i < data.size(); i++)
            {
                contents[i] = new Content(String.valueOf(data.elementAt(i)));
            }
            theList = new CList(contents, renderer);
            return theList;
        }
    }

    public class CList extends List {
        public CList(Object[] data, CListCellProduits renderer)
        {
            super(data);
            setListCellRenderer(renderer);
            setScrollAnimationSpeed(getScrollAnimationSpeed()/4);
        }
    }

public class Champ extends TextField {

    public Champ(String imo)
    {
        super();
        setReplaceMenu(false);
        setInputModeOrder(new String[]{imo});
    }
    public Champ(String imo, int contrainte)
    {
        super();
        setReplaceMenu(false);
        setInputModeOrder(new String[]{imo});
        setConstraint(contrainte);
    }
    protected Command installCommands(Command clear, Command t9)
    {
        return null;
    }
}
public formConstructor()
{
...
private Vector vList=new Vector();//列表的数据源
私有CListCellProduits列表呈现器;
私人名单;
...
listRenderer=新的CListCellProduits(20);
vList.addElement(新字符串(“P001;”);
vList.addElement(新字符串(“P002;”);
list=(新ListUtil(vList)).createList(listRenderer);
添加组件(列表);
...
}
公共类CListCellProduits扩展容器实现ListCellRenderer{
专用标签焦点=新标签(“”);
自有品牌lData;
私人Champ架次=新Champ(“123”,TextArea.NUMERIC);
私有Champ dispo=新Champ(“123”,TextArea.NUMERIC);
私人公社;
私有容器cRow1=新容器(新的BoxLayout(BoxLayout.X_轴));
公共CListCellProduits(int-WidthCommon)
{
超级();
setLayout(新的BoxLayout(BoxLayout.Y_轴));
lData=新标签(“”);
出动架次setPreferredW(宽度公社);
dispo.setPreferredW(WidthCommon);
this.widthcumn=widthcumn;
cRow1.添加组件(lData);
1.增加部队(架次);
cRow1.添加组件(dispo);
addComponent(cRow1);
}
公共组件GetListCellRenderComponent(列表列表、对象值、int索引、布尔isSelected)
{
内容输入=空;
if(内容的值实例)
条目=(内容)值;
如果(!“”.equals(entry.getColumn(0)))
lData.setText(entry.getColumn(0));
其他的
lData.setText(“-”);
lData.setPreferredW(宽度公社);
list.repaint();
归还这个;
}
公共组件getListFocusComponent(列表arg0)
{
返回焦点;
}
}
公共类ListUtil{
私有向量数据=新向量();
私有内容[]内容;
公共ListUtil(矢量vData)
{
数据=vData;
contents=新内容[vData.size()];
}
公共列表createList(CListCellProduits渲染器)
{
CList-theList;
对于(int i=0;i
在运行时,它给出如下内容:


那么如何使文本字段可编辑?

这在列表中是不可能的


列表仅用于显示可单击项目列表,不用于文本字段

正确,答案是使用容器而不是列表。