Java 加载.py程序时窗口不出现(Jython,初学者)
我正在创建一个简单的聊天GUI。下面的代码加载时没有错误,但我不知道如何使窗口显示,以便我可以实际看到它正在工作。在使用类之前,它会自动显示(例如,运行一个简单的“Hello,world!”应用程序)。我需要使用命令行吗 谢谢你的帮助,我对这方面还不熟悉Java 加载.py程序时窗口不出现(Jython,初学者),java,python,swing,jython,Java,Python,Swing,Jython,我正在创建一个简单的聊天GUI。下面的代码加载时没有错误,但我不知道如何使窗口显示,以便我可以实际看到它正在工作。在使用类之前,它会自动显示(例如,运行一个简单的“Hello,world!”应用程序)。我需要使用命令行吗 谢谢你的帮助,我对这方面还不熟悉 import javax.swing as swing import java.awt as awt import java.awt.event.ActionEvent import java.awt.event.ActionListen
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)
您需要实际运行该类才能使用它 在文件底部,尝试添加以下行:
login = Login()
它应该实例化并执行Login
类
更惯用的方法是将实例化包装在
if
块中:
if __name__ == '__main__':
login = Login()
这将使Python仅在从命令行直接运行文件时才实例化
Login
类,并且在仅导入文件时避免实例化它。如果要测试给定的文件以确保其正常工作,这非常有用,但是仍然可以导入它并在程序中的其他地方重新使用它。最简单的方法是在开始搜索时键入python.exe并打开属性,然后复制并粘贴位置右键单击py程序,然后单击clikc open whithc和chosse/chosse default并粘贴位置,然后单击您似乎拥有的python或python.exeself.loginMain
和self.mainWin
。我认为后者是个意外。