Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java linux打印问题_Java_Printing_Postscript - Fatal编程技术网

Java linux打印问题

Java linux打印问题,java,printing,postscript,Java,Printing,Postscript,我有一个应用程序,显示JFrame和要打印的图形。当我从命令行运行应用程序时,打印过程运行良好。但是,如果此应用程序被其他应用程序调用,打印过程将不起作用,PrintJob类的getGraphics()将返回null 有人知道这件事的原因吗?我使用Red Hat Linux 提前感谢。 它是否由未连接到X会话的服务或进程调用 如果Java图形/打印操作过程没有连接到图形桌面会话(X服务器),我也尝试过同样的问题 唯一的解决方案是运行附加到图形会话的进程,我没有找到任何其他解决方法。提供有关您的

我有一个应用程序,显示JFrame和要打印的图形。当我从命令行运行应用程序时,打印过程运行良好。但是,如果此应用程序被其他应用程序调用,打印过程将不起作用,PrintJob类的getGraphics()将返回null

有人知道这件事的原因吗?我使用Red Hat Linux

提前感谢。

  • 它是否由未连接到X会话的服务或进程调用
如果Java图形/打印操作过程没有连接到图形桌面会话(X服务器),我也尝试过同样的问题


唯一的解决方案是运行附加到图形会话的进程,我没有找到任何其他解决方法。

提供有关您的环境的详细信息肯定不会有什么坏处:Linux发行版、deskto、Java版本、Java实现、打印系统(cups?)…我使用的是Red Hat Linux 5.5,jdk 1.4、1.5、1.6会出现问题(还没有测试过其他版本),打印系统是CUPS,图形环境是sun.awt.X11GraphicsEnvironment。我认为问题不在代码内部,因为当从命令行调用应用程序时,它工作正常。ThanksHow我可以检查吗?应用程序运行时screen-ls的输出是“找不到插座。。。"。你能给我一个例子,我如何运行它,并确保它连接到图形桌面会话吗?谢谢简单地说:如果你从gnome/kde/x终端运行java进程,你的进程连接到x会话;如果你从SSH或deamon运行进程,你的进程不连接到x会话。你也可以检查$DISPLAY环境变量,如果设置了该变量,则您处于X会话中。当流程失败时,启动流程的“工作流”是什么?哪个应用程序正在调用java应用程序以及如何调用?在这种情况下,流程将附加到X会话。我运行启动系统的脚本。在运行时,其一个组件使用资源文件to获取用于调用JFrame的另一个脚本的direcotry。找到dir后,将调用该脚本,JFrame将以所需的图形显示在屏幕上。我还注意到,当我将其打印到文件时,它工作正常,但getGraphics()的PrintJob返回空值,并尝试正常打印。当我单独运行它(带有JFrame的应用程序)时,一切正常。非常感谢。