0

シンプルなチャット GUI を作成しています。次のコードはエラーなしで読み込まれますが、実際に機能していることを確認できるようにウィンドウを表示する方法がわかりません。クラスを使用する前に、自動的に表示されます (たとえば、単純な「Hello, world!」アプリケーションの実行)。コマンドラインを使用する必要がありますか?

助けてくれてありがとう--私はこれが初めてです。

import javax.swing as swing

import java.awt as awt

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

class Login:

  def __init__(self):

    self.login = Login
    self.chatRoom = ChatRoom(self.login)

    self.loginMain = swing.JFrame("Welcome to J-Chat!")
    self.loginMain.contentPane.layout = awt.BorderLayout()
    self.loginMain.preferredSize = (300, 120)    
    self.loginMain.setLocationRelativeTo(null)
    self.loginMain.setDefaultCloseOperation(EXIT_ON_CLOSE)

    self.loginLabel = swing.JLabel("User Name: ")
    self.loginMain.contentPane.add(loginLabel)

    self.loginField = swing.JTextField(20)
    self.loginMain.contentPane.add(loginField)

    self.loginButton = swing.JButton("Login")
    self.loginMain.contentPane.add(loginButton)
    self.loginButton.actionPerformed = self.buttonClick

    self.mainWin.pack()
    self.mainWin.show()

  def buttonClick(self, event):

    self.chatRoom = ChatRoom.chatRoomMain(self.chatRoom, self.loginField.text)
4

2 に答える 2

0

クラスを使用するには、実際にクラスを実行する必要があります。

ファイルの最後に、次の行を追加してみてください。

login = Login()

これにより、クラスがインスタンス化されて実行されますLogin


より慣用的な方法は、インスタンス化をifブロックでラップすることです。

if __name__ == '__main__':
    login = Login()

これにより、コマンド ラインからファイルを直接実行する場合にのみ、Python がLoginクラスをインスタンス化するようになり、単にファイルをインポートする場合はインスタンス化が回避されます。これは、特定のファイルをテストして動作することを確認したいが、インポートしてプログラムの他の場所で再利用したい場合に便利です。

于 2013-09-17T15:19:16.933 に答える
0

最も簡単な方法は、検索の開始時に python.exe と入力してプロパティを開き、場所をコピーして貼り付けます。py プログラムを右クリックしてから、whithc と chosse/chosse default をクリックして開き、場所を貼り付けて、python または python.exe をクリックします。

于 2013-09-17T17:59:34.287 に答える