【问题标题】:Creating a Swing based GUI in Jython在 Jython 中创建基于 Swing 的 GUI
【发布时间】:2010-09-09 21:29:21
【问题描述】:

今天,我一直在尝试使用 jython 创建一个使用 swing 的 GUI。我不是专业的程序员,所以我决定尝试使用 Netbeans IDE 来设计接口,然后调整输出以在 jython 中使用,因为我在 python 方面的经验比在 Java 方面更多。完成代码后,我设法消除了所有语法错误,但仍然出现以下错误:

Traceback (most recent call last):
   File "<path of file>", line 362, in     <module>
run = InitGUI()
   File "<path of file>", line 358, in __init__
frame.show()
    at javax.swing.GroupLayout.checkParent(Unknown Source)

    at javax.swing.GroupLayout.invalidateLayout(Unknown Source)

    at java.awt.Container.invalidate(Unknown Source)

    at java.awt.Component.addNotify(Unknown Source)

    at java.awt.Container.addNotify(Unknown Source)

    at javax.swing.JComponent.addNotify(Unknown Source)

    at java.awt.Container.addNotify(Unknown Source)

    at javax.swing.JComponent.addNotify(Unknown Source)

    at java.awt.Container.addNotify(Unknown Source)

    at javax.swing.JComponent.addNotify(Unknown Source)

    at javax.swing.JRootPane.addNotify(Unknown Source)

    at java.awt.Container.addNotify(Unknown Source)

    at java.awt.Window.addNotify(Unknown Source)

    at java.awt.Frame.addNotify(Unknown Source)

    at java.awt.Window.show(Unknown Source)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)


java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: GroupLayout can only be used with one Container at a time

现在,我不知道是什么原因造成的,也不知道如何/从哪里解决这个问题。

完整源代码为here.

如果有人可以看一下,我将不胜感激,

谢谢

【问题讨论】:

    标签: java swing jython


    【解决方案1】:

    您正在JFrame 上设置布局,这是我以前从未见过的......(通常设置JFrame 的子组件的布局)。

    你可以试试:

    layout = GroupLayout(frame.getContentPane())
    frame.getContentPane().setLayout(layout)
    

    另见this discussion

    【讨论】:

    • +1。有趣的是,由 JFrame 转发所有对 contentPane 的调用变得丑陋的情况。 GroupLayout 的 checkParent 方法仅检查引用相等性,但因 contentPane != JFrame 失败,因为它对 JFrame 没有特殊处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    相关资源
    最近更新 更多