sikuli中jython的JTextField()中的混淆

时间:2013-06-05 09:40:35

标签: jython textfield sikuli

这是我的代码: -

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

1 个答案:

答案 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