今天一直在摸索用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.
如果有人能看一下,我将不胜感激,
谢谢
最佳答案
您正在设置 JFrame
上的布局,这是我以前从未见过的……(通常是设置 JFrame
子组件的布局)。
你能试试吗:
layout = GroupLayout(frame.getContentPane())
frame.getContentPane().setLayout(layout)
另见 this discussion .
关于java - 在 Jython 中创建基于 Swing 的 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680720/