我有一个应用程序显示JFrame与要打印的图形。当我从命令行运行应用程序时,打印过程正常。但是,如果此应用程序由其他应用程序调用,则打印过程不起作用,并且PrintJob类的getGraphics()返回null。Java linux的打印问题
任何人有任何想法可能是这种行为的原因是什么?我使用Red Hat Linux。
在此先感谢。
我有一个应用程序显示JFrame与要打印的图形。当我从命令行运行应用程序时,打印过程正常。但是,如果此应用程序由其他应用程序调用,则打印过程不起作用,并且PrintJob类的getGraphics()返回null。Java linux的打印问题
任何人有任何想法可能是这种行为的原因是什么?我使用Red Hat Linux。
在此先感谢。
我已经尝试同样的问题与Java图形/打印操作如果进程不附加到图形桌面会话(X服务器)。
唯一的解决方案是运行附加到图形会话的进程,但我没有找到任何其他解决方法。
如何检查该问题?在应用程序运行时屏幕的输出是“没有找到套接字...”。你能给我举一个例子,我可以如何运行它,并确保它连接到图形桌面会话?谢谢 – user609823 2011-03-16 15:01:09
简单地说:如果你从一个gnome/kde/x终端运行你的java进程,你的进程将被附加到一个X Session;如果你从SSH或者deamon运行你的进程,你的进程就不会附加到X Session。您也可以检查$ DISPLAY环境变量,如果变量设置为X会话。 – 2011-03-16 15:17:32
什么是'工作流程'在失败时启动您的流程?哪个应用程序正在调用您的Java应用程序以及如何? – 2011-03-16 15:18:38
它肯定不会伤害您的环境提供的详细信息:Linux发行版,deskto,Java版本,Java实现,打印系统(杯?),... – sfussenegger 2011-03-16 13:49:09
我使用Red Hat Linux 5.5,问题发生与jdk 1.4,1.5,1.6(未经其他版本测试),打印系统为CUPS,图形环境为sun.awt.X11GraphicsEnvironment。我不认为这个问题出现在代码中,因为它在从命令行调用应用程序时正常工作。感谢 – user609823 2011-03-16 15:05:28