以下Codesnipplet会抛出nullpointerexception。它由findByName方法抛出。看起来无法找到PlayerComponentGroupList,但我不知道为什么。
我如何参考生成的componentgroup?
protected void beforeMain(Form f) {
super.beforeMain(f);
try {
findPlayerComponentGroup(f).addComponent(getItems("Player"));
} catch (IOException ex) {
throw new RuntimeException(ex.getMessage());
}
}
private Container getItems(String order) throws IOException {
...
final Container rows = new ComponentGroup();
...
rows.setName("PlayerComponentGroupList");
return rows;
}
protected void onMain_PlayerContainerButtonSortNameAction(Component c, ActionEvent event) {
super.onMain_PlayerContainerButtonSortNameAction(c, event);
try {
findPlayerComponentGroup().removeComponent(findByName("PlayerComponentGroupList", Display.getInstance().getCurrent())));
...
}
答案 0 :(得分:0)
findByName()
不起作用。它只适用于GUI构建器创建的组件,因此非常快(否则它必须递归搜索非常慢的组件树)。
您需要保留指向组件的指针并将其删除。