嘿,我一直在玩Jython,我写了以下测试程序:
from javax.swing import *
from java.awt import *
from java.awt.event import ActionListener
class JythonTest(JFrame):
_windowTitle = ""
def __init__(self):
self.initVars()
self.initLookAndFeel()
self.initComponents()
self.initGui()
def initVars(self):
self._windowTitle = "Jython Test"
JFrame.__init__(self, self._windowTitle)
def initLookAndFeel(self):
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
def initComponents(self):
label = JLabel("Hello World!", JLabel.CENTER)
label.setFont(Font("Arial", Font.BOLD, 30))
tabs = JTabbedPane()
tabs.addTab("Test", label)
tabs.addTab("Calculator", self.CalculatorPane())
self.add(tabs)
def initGui(self):
self.setSize(400,200)
self.setDefaultCloseOperation(self.EXIT_ON_CLOSE)
self.setVisible(1)
class CalculatorPane(JPanel, ActionListener):
_txt1 = 0
_txt2 = 0
_box = 0
def __init__(self):
self.initVars()
self.initComponents()
def initVars(self):
pass
def initComponents(self):
self._txt1 = JTextField(5)
self._box = JComboBox(["+", "-", "*", "/"])
self._txt2 = JTextField(5)
btn = JButton("Go")
btn.addActionListener(self)
self.add(self._txt1)
self.add(self._box)
self.add(self._txt2)
self.add(btn)
def actionPerformed(self, ev):
val1 = self._txt1.getText()
val2 = self._txt2.getText()
operation = self._box.getSelectedItem()
val1 = int(val1)
val2 = int(val2)
if operation == "+":
answer = val1+val2
elif operation == "-":
answer = val1-val2
elif operation == "*":
answer = val1*val2
elif operation == "/":
answer = val1/val2
JOptionPane.showMessageDialog(self, "The answer is: " + str(answer))
if __name__ == "__main__":
win = JythonTest()
这是我的系统信息:
Operating System: Ubuntun 10.10
Netbeans Version: 6.9
我的问题是我无法编译上面的代码。当我点击运行按钮时它运行得很好,但是,当我点击构建或清洁&然后我没有得到任何结果。构建过程在右下角运行大约半秒钟然后完成。输出框打开但即使在过程结束后它也完全是空的。当我查看我的项目文件夹时,没有任何变化。只存在两个文件夹,nbproject和src。可能应该有一个带有jar的dist文件夹。这是文件结构中的内容:
user@computer: ~/NetBeansProjects/pythontest$ ls
nbproject src
user@computer: ~/NetBeansProjects/pythontest$ ls nbproject
private project.properties project.xml
user@computer: ~/NetBeansProjects/pythontest$ ls nbproject/private
private.xml
user@computer: ~/NetBeansProjects/pythontest$ ls src
pythontest.py setup.py
我所做的就是从debian包安装netbeans(很久以前)并通过NetBeans python插件设置python / jython。知道什么是错的吗?
答案 0 :(得分:2)
简短的回答是它并没有真正起作用;我不知道有任何IDE或工具支持包装jython程序。
通常我所做的只是创建一个shell脚本:
java -cp "the/classpath/;" org.python.util.jython myscript.py
我发现这是运行jython程序最简单的方法,并且在开发期间让我免于工作.jar
文件的麻烦。
也就是说,有些方法可以在独立的.jar
文件中打包jython程序,如果这是你想要的。
我找到的最好的资源是Distributing Jython Scripts中的Jython FAQ页面,它描述了一些用于分发jython脚本的不同技术。
我通常只在“发布”程序时使用那里描述的方法。