这是我的代码: -
from javax.swing import *
class Example(JFrame):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
panel = JPanel()
panel.setLayout(None)
self.getContentPane().add(panel)
panel.setLayout(None)
area = JTextField('',15)
panel.add(JLabel("username:", SwingConstants.RIGHT))
panel.add(area)
self.setTitle("Quit button")
self.setSize(600, 400)
self.setLocationRelativeTo(None)
self.setVisible(True)
def onQuit(self, e):
System.exit(0)
if __name__ == '__main__':
Example()
这里我只想尝试使用JTextField(),以便我可以从用户那里获得一些输入。但运行后,窗口为空白,窗口上没有文本字段。我在Windows 7上的sikuli r930中运行它。有谁能告诉我出了什么问题?
答案 0 :(得分:0)
我认为代码中的布局存在问题。尝试设置一些布局而不是“无”。固定的initUI函数可能如下所示:
def initUI(self):
panel = JPanel()
panel.setLayout(FlowLayout(FlowLayout.CENTER,1,150))
self.getContentPane().add(panel)
area = JTextField('',15)
panel.add(JLabel("username:", SwingConstants.RIGHT))
panel.add(area)
self.setTitle("Quit button")
self.setSize(600, 400)
self.setLocationRelativeTo(None)
self.setVisible(True)
在这种情况下需要额外的导入行:
from java.awt import FlowLayout