2

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

4

3 回答 3

1

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

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

于 2010-02-24T07:34:37.567 回答
1

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

  • 保存并关闭您的 JFrame 源
  • 确保 JPanel 组件已编译。
  • 点击Tools > Palette > Swing/AWT Components
  • 右键单击树并选择Refresh
  • 打开您的 JFrame 组件。它现在应该显示更新的组件
于 2010-02-25T16:33:39.947 回答
0

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

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

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

于 2011-04-29T20:03:50.607 回答