我可以在运行时在 netbeans 的 jframe 中添加一个组件吗?

Posted

技术标签:

【中文标题】我可以在运行时在 netbeans 的 jframe 中添加一个组件吗?【英文标题】:Can i add a component in jframe in netbeans at runtime? 【发布时间】:2011-03-04 21:28:56 【问题描述】:

我在 netbeans 中构建了一个表单,并且想要添加或删除带有按钮或组合框的 actionperformed 事件的组件,这可能吗?

如果是,怎么做?

【问题讨论】:

【参考方案1】:

你可以在运行时添加组件,但是你必须调用jframe的paint()方法来显示添加的组件。

【讨论】:

【参考方案2】:

创建一个 JPanel,在其中添加动态组件,然后使用 add/remove 和 setLayout() 方法控制其上的组件。

【讨论】:

【参考方案3】:

在运行时添加组件的通用代码是:

panel.add( someComponent );
panel.revalidate();
panel.repaint();

但是,我相信 NetBeans 使用 GroupLayout 会导致问题。您需要了解所有约束是如何工作的,然后在使用 add(...) 方法时指定适当的约束。

所以我的建议是不要使用 NetBeans 来设计你的表单并学习自己使用 LayoutManagers,这样你就可以完全控制布局并且添加组件就像上面的代码一样简单。

【讨论】:

您仍然可以使用 NetBeans 进行 UI 开发,只需使用 matisse 将 jpanel 添加到 UI 表单,并将其布局管理器设置为合理的值(BorderLayout 或 GradBag 等)。然后在运行时在该面板上使用 add() 方法,而不是表单本身。

以上是关于我可以在运行时在 netbeans 的 jframe 中添加一个组件吗?的主要内容,如果未能解决你的问题,请参考以下文章

Netbeans 可以在特定 VM 中运行项目吗?

无法在 netbeans 中运行 C++ CMake 项目

Netbeans xDebug 仅在 Mac 上运行一次

在 NetBeans 中运行 Maven 目标的按钮

使用 Netbeans 在本地 Java 服务器上开发 [关闭]

Netbeans 7 - 执行 shell 命令的插件