0

我在 NetBeans 中开发了一个 UI,我想在我的 Griffon 应用程序中使用它。我选择这样做是因为我没有足够的时间来弄清楚如何使用 SwingBuilder 正确布置屏幕。根据 Griffon in Action 一书,我基本上只需要将 NetBeans 中创建的 .java 文件放在我的 Griffon 项目的 src 目录中的相应包下,并griffon generate-view-script使用 .java 类的完全限定类名运行命令(它我花了一段时间才弄清楚如何做到这一点)。然后它会在 views 目录中生成一个 .groovy 文件,其中包含一些包装 .java 类的代码,以使其与 SwingBuilder 一起工作。当我尝试按原样运行时,什么也没有出现。没有抛出异常,但也没有任何显示。

4

1 回答 1

1

事实证明,.java 类包含一个 Main() 方法,其中类的可见属性(它是 JFrame 的子类)设置为 true。SwingBuilder 不会调用 Main() 方法,因此 visible 属性从未设置为 true。为了纠正这个问题,我只需将visible: true参数添加到生成的小部件节点,如下所示。

widget(new package.path.MyClass(), id: 'MyClass', visible: true)

一旦我这样做了,它就很好了。

于 2012-10-30T15:30:19.430 回答