2013-02-27 126 views
0

注意:在这个问题中,我指的任何地方都是List,我说的是com.codename1.ui.ListCodename一个包含列表的列表

我可以使用Codename One的GUI Designer将List放在List中,然后用它自己的数据填充每个子列表吗?

我可以定义在GUI设计器Container,并在其中投入了List(我称之为InnerList)然后设置Container作为Renderer另一个List(我称之为一个OuterList。)我有什么无法做到的是,然后将InnerList的数据设置在OuterList的特定单元格中。当我在GUI中修改OuterList的ListItems时,InnerList甚至不会出现在键列表中,并且我还没有找到从代码填充InnerList的方法。

要解决此问题,我必须定义两个用户类实现ListCellRenderer(和扩展Container),并在代码中将它们分别设置为OuterList和InnerList的渲染器。在GUI Designer中,只有OuterList没有明显的Renderer。这可以起作用,但它并不适用于其他GUI定义的方式,并增加了混淆。

+0

你使用什么语言和GUI框架? – 2013-02-27 04:13:59

+0

语言是Java,GUI框架是Codename One。 – 2013-02-27 04:15:01

回答

0

这没有任何意义。代码名称一个列表渲染器是“橡皮图章”,这意味着它们没有状态,所以您将无法改变元素的大小或访问其中的单个组件。你需要做的是使用一个Component-> Container层次来实现你正在寻找的功能。

+0

你的意思是把列表放在列表中是没有意义的吗? – 2013-02-27 15:51:29

+0

是的,嵌套列表是没有意义的。 – 2013-02-27 16:49:27