0

以下 Codesnipplet 引发。它由 findByName 方法抛出。看起来找不到 PlayerComponentGroupList 但我不知道为什么。

我怎么能引用生成的

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())));
...
}
4

1 回答 1

0

findByName()不能那样工作。它仅适用于由 GUI 构建器创建的组件,因此速度非常快(否则它将不得不递归搜索非常慢的组件树)。

您需要保留指向组件的指针并将其删除。

于 2013-02-20T17:58:37.620 回答