【发布时间】:2010-10-03 14:26:05
【问题描述】:
所以我在玩 Jython,试图拼凑一个通用的 GUI。除了他们在 Jython Wiki 上的摇摆示例之外,别无其他。所以我声明了一个 JFrame,然后尝试添加一个面板,一些文本字段,所有这些好东西。但是,当我运行它时出现此错误。 "'NoneType' 对象没有属性 'add'"
这是我的基本代码。
from javax.swing import *
frame = JFrame('E-mail Gathering', defaultCloseOperation = JFrame.EXIT_ON_CLOSE, size =(600,400), locationRelativeTo = None).setVisible(True)
pnl = JPanel()
frame.add(pnl)
self.textfield1 = JTextField('username:',15)
pnl.add(self.textfield1)
self.textfield2 = JTextField('password:', 15)
pnl.add(self.textfield2)
mailButton = JButton('Login',actionPerformed=self.checkmail)
pnl.add(mailButton)
frame.pack()
frame.setVisible(True)
我知道它崩溃的相关部分在 'frame.add(pnl)' 并出现上述错误。我想我会把剩下的扔在那里,以防万一我犯了更大的错误。我觉得我没有正确地将框架声明为 JFrame 的地方出了点问题,但我知道情况并非如此,因为如果我不尝试向其中添加任何内容,它就可以很好地创建框架。
感谢您的任何意见或建议。
【问题讨论】:
-
您可能已经知道这一点,但您不应该使用
from foo import *,除非在玩具脚本或解释器中用作速记。即便如此,这也可以说是个坏主意。 -
我实际上是一个新手,我不知道。你应该怎么把它放进去,为什么我这样做的方式不好?
-
只导入您需要避免名称冲突/歧义的内容,例如在
java.util.List和java.awt.List之间。