Java 加载.py程序时窗口不出现(Jython,初学者)

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

我正在创建一个简单的聊天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)

您需要实际运行该类才能使用它

在文件底部,尝试添加以下行:

login = Login()
它应该实例化并执行
Login


更惯用的方法是将实例化包装在
if
块中:

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

这将使Python仅在从命令行直接运行文件时才实例化
Login
类,并且在仅导入文件时避免实例化它。如果要测试给定的文件以确保其正常工作,这非常有用,但是仍然可以导入它并在程序中的其他地方重新使用它。

最简单的方法是在开始搜索时键入python.exe并打开属性,然后复制并粘贴位置右键单击py程序,然后单击clikc open whithc和chosse/chosse default并粘贴位置,然后单击您似乎拥有的python或python.exe

self.loginMain
self.mainWin
。我认为后者是个意外。