我在java swing中创建了一个GUI,但是我为该GUI的功能制作了很多python脚本,有没有可以使用我的python脚本在Java Swing GUI界面中显示内容?谢谢!在Java GUI中使用Python
1
A
回答
3
退房的Jython(http://www.jython.org/)
这是Java中的一个Python实现。
从理论上说,你不应该有改变你的Python代码(如果它“品质优良”),但在实践中,我建议你将不得不在这里和那里做一些改变。我不亲自使用Jython,但所有各种python实现通常或多或少兼容,但不完全相同。您将无法使用依赖于C ABI的Python库,但纯Python脚本应该可以工作。
0
您可能不想为此应用程序的最终版本执行此操作,但对于快速而肮脏的方法,您可以在java中运行外部程序并捕获输出。 (之前我曾经使用过这个功能,当时我正在将一个程序从python移植到java的过程中,并希望在java后端完成之前查看java前端是否工作,而不用担心替换CPython模块。)这个示例程序运行Python程序test.py
并打印输出:
import java.io.*;
class Jexec{
public void Jexec(){}
private String exec(String execStr){
try{
// run process and capture stdout
Process p = Runtime.getRuntime().exec(execStr);
InputStream s = p.getInputStream();
// convert stdout to a string
BufferedReader br = new BufferedReader(new InputStreamReader(s));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
String output = sb.toString();
p.destroy();
return output.toString();
}catch(Exception e){
//actually handle the error here
e.printStackTrace();
return String.format("*** Running \"%s\" failed. ***",execStr);
}
}
public static void main(String[] args){
Jexec je = new Jexec();
System.out.println(je.exec("python test.py")); //in your case, you would use the output instead of just printing it
}
}
这是超级片状,所以,再一次,我只用它来临时测试目的。但对于这些情况,这真的很有帮助。
+0
我发现了一个更好的解决方案,jymatisse,一个Swing GUI生成器,但可以在Python的支持代码,http://javaforge.com/project/11 – enginefree 2012-07-16 18:20:15
相关问题
- 1. Java中使用Swing的GUI
- 2. 在Linux中使用Python创建GUI
- 3. 在python中使用tkinter来制作gui
- 4. 如何在java中使用GUI?
- 5. Java - 在GUI中使用线程
- 6. 在Java GUI中使用线程数
- 7. 在java中使用xml的GUI
- 8. 当使用Java GUI
- 9. Java GUI(使用FXML):
- 10. 来自Java的Python GUI
- 11. 在Python中使用java类
- 12. 使用GridBagLayout构建GUI(Java)
- 13. Java GUI,需要使用actionlistener?
- 14. 使用SwingWorker更新Java Gui
- 15. 的Java GUI使用的JFrame
- 16. Python中的GUI
- 17. 在GUI上使用胶水,java
- 18. 如何使用tkinter在Python中使用GUI编程计算器?
- 19. 按钮在Java GUI(Swing)中使用鼠标后即可使用?
- 20. 使Python GUI有效
- 21. 在Python类中使用self(在Nuke制作GUI中)
- 22. 在Java GUI
- 23. 在eclipse中建立Python GUI?
- 24. 在python编程中的GUI
- 25. 在Java GUI中更新JTree
- 26. 在Java中创建GUI
- 27. 在Java GUI中嵌入Excel
- 28. 在Java中的GUI线程
- 29. 如何禁用GUI按钮在Java中
- 30. 在GUI matlab中使用specgram
我需要转换所有脚本吗? – enginefree 2012-07-16 15:50:05
@ user1510602这是Java中的python实现。查看他们记录的差异。 – Marcin 2012-07-16 15:51:48
@ user1510602:在已编辑的回复中回答。 :) – Arafangion 2012-07-16 15:52:26