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 に答える