0

这是我的代码:-

    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 中运行它。谁能告诉我出了什么问题?

4

1 回答 1

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
于 2013-06-05T12:09:16.113 回答