2013-02-27 98 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

相關問題