java - jgoodies 如何删除使用 PanelBuilder 添加的组件?

标签 java swing jgoodies

我正在使用 com.jgoodies.forms.builder.PanelBuilder添加按钮和行。然后我调用PanelBuilder.getPanel()并将面板附加到 JPopupMenu。

有没有一种方法可以从 PanelBuilder 生成的面板中删除和重新附加一些附加组件:我想动态混合/混合其中一个附加按钮和相应的空行(使用 PanelBuilder.appendRow("f:30px")).

谢谢。

最佳答案

移除组件确实有效,但它会在面板上留下未使用的空间区域。只有在添加 JButton 之前未使用 PanelBuilder.appendRow() 时,JPanel.revalidate() 才有效。

此外,我无法重新附加已删除的 JButton。它出现在 JPanel 的组件列表中,但未显示。

这就是为什么我要根据每个请求动态创建一个新的 JPanel 并将其分配给 JPopupMenu。

关于java - jgoodies 如何删除使用 PanelBuilder 添加的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291748/

相关文章:

java - 如何在 Java 中为公共(public)方法超时?

java - 未找到引用的 bean 'name'

java - Java 中的 UI 数据绑定(bind)是否比其值(value)更麻烦?

java - 将消息保留在队列中以防接收器崩溃

java - Jackson 从 Unix 格式反序列化 Joda DateTime

java - 更改 JInternalFrame 内 JTable 的滚动位置

java - 按下一个键和被按下的键被读取之间的延迟

java - 使用 KeyListener 使用箭头键在 JPanel 中移动矩形

java - JGoodies DefaultFormBuilder - 动态添加行