我正在用GenericListCellRenderer创建Textfield,我需要编辑textfield并替换其中的值,但是单击Textfield时我没有得到任何关注。我尝试的代码如下。

public Container createGenericRendererContainer() {

        Container c = new Container(new BoxLayout(BoxLayout.X_AXIS));
        c.setUIID("Container");
        Label name = new Label();
        name.setFocusable(true);
        name.setName("Name");
        c.addComponent(name);

        TextField rollNo = new TextField();
        rollNo.setFocusable(true);
        rollNo.setUIID("TextField");
        rollNo.setName("RollNo");
        rollNo.setEditable(true);
        rollNo.setEnableInputScroll(true);
        rollNo.setEnabled(true);
        c.addComponent(rollNo);

        return c;
    }


从此以后,我需要获取动作侦听器,在编辑并按Enter后,需要在数据库中更改值。

最佳答案

ListRenderer是无状态的,它们仅用于显示列表中的列表项,如果您需要Statefull组件而不使用列表,请改用框布局y容器。
阅读此以获取更多信息-http://www.codenameone.com/blog/deeper-in-the-renderer

09-13 06:18