我正在用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