添加新组件后,Netbeanw不刷新JPanel

时间:2010-02-24 07:18:39

标签: java user-interface swing netbeans builder

这个标题可能无法最好地描述我的问题。我正在使用Netbean GUI构建器来创建JFrame和几个JPanel。我在一个单独的类中创建每个JPanel,然后将JPanel类拖到JFrame。问题是在将JPanel拖到JFrame之后,如果我向JPanel添加组件,它不会在JFrame中包含的JPanel中显示其他组件。我尝试了“清理和构建”,但新组件仍未在JFrame中显示 - >的JPanel。

3 个答案:

答案 0 :(得分:1)

我知道你的意思; Matisse(NetBeans的GUI编辑器)允许您将自组装容器(例如JPanel)拖放到其他容器(例如JFrame)中,但前者中的任何后续更改都不会反映在后者中。据我所知,不幸的是,这就是它的工作方式。

这是我认为马蒂斯只能用于快速原型制作和玩弄的原因之一。对于任何严重的事情,GUI必须是手工编码的。

答案 1 :(得分:1)

马蒂斯保留了您添加到调色板中的任何组件的缓存副本。因此,后续更改不会自动获取。要获取更改:

  • 保存并关闭您的JFrame源
  • 确保已编译JPanel组件。
  • 点击Tools > Palette > Swing/AWT Components
  • 右键单击树并选择Refresh
  • 打开JFrame组件。它现在应该显示更新的组件

答案 2 :(得分:0)

遇到同样的问题,你所要做的就是:

1)重新编译新的JPanel子组件
2)关闭与父JPanel相关联的表单 3)再次从项目树重新打开父Jpanel

现在应该显示刷新的子面板。当您打开表单或添加新子面板时,Matisse仅呈现子面板。因此,在不删除和重新添加子面板的情况下刷新显示的唯一方法是关闭并重新打开它。