forms - 代号 一张刷新表单

标签 forms refresh codenameone reload

在我的应用程序中,我想重新加载表单。问题是,每次我重新加载表单时,现有项目都会保留在屏幕上,并且随后会添加新项目。

例如,有两个按钮:buttonOne 和buttonTwo。两者都在一个容器内。容器已添加到表单中。

当我重新加载表单时,buttonOne 和buttonTwo 会再次添加到已经存在的两个按钮中。当我再次重新加载时,按钮一和二在屏幕上出现四次。

我已经尝试过:

form.removeAll();
containerButton.removeAll();
containerButton.remove();
form.repaint();
form.refreshTheme();

// reload the form 

channels (); 

// the class

public Form form = new Form(new BoxLayout(2));

public void channels() { 

   container.add (buttonOne).add(buttonTwo);
   form.add (containerButton);

}

这种方法并不能解决问题。我缺少什么?

预先感谢您的回复。

最佳答案

全部删除将从容器(在本例中为表单内容 Pane )中删除组件,但不会通过层次结构删除它们。

两者:

form.repaint();
form.refreshTheme();

更改层次结构时使用的 API 不正确。您需要使用 revalidate()animateLayout()

“重新加载”不是代号一中存在的概念,因为小部件不知道您的数据。一个常见的万无一失的技巧是从头开始重新创建表单并显示它。

关于forms - 代号 一张刷新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55047528/

相关文章:

javascript - 如何在没有确认页面的情况下提交Google表单数据?

Javascript 提交按钮不起作用

android - 刷新数据 Android 应用程序

android - codenameone 和 Opentok native 接口(interface)

java - 禁用 Codename 工具栏中的命令

javascript - 获取 HTML 表单值并提交到新窗口

jquery - 通过 jQuery 上传文件,提供对象 FormData,无文件名,GET 请求

css - 单击移动键盘提交/转到按钮后隐藏表单

java - Image.setIcon(Parameters) 不刷新标签

java - Apache PDFBox 和 CodenameOne 桌面应用程序