当前位置: 首页 > 面试题库 >

将使用AWT和Swing绘制影片的Java应用程序移植到服务器端

羊光辉
2023-03-14
问题内容

我正在处理一些使用AWT和Swing功能将动画输出写入桌面的代码。它使用2D图形进行绘制,并以字体呈现文本。

此代码可以使用Java Media Framework将动画保存为电影文件。

我想将此代码移植到纯服务器端环境,以使用WebUI。绘图代码可以在servlet容器内部运行,也可以在外部作为命令行程序运行。(或者我可以选择不使用servlet容器,而使用从命令行运行JavaWeb服务器的较新方法。)

是否可以在不启动服务器上的X Window系统的情况下使用AWT和Swing绘图功能?


问题答案:

JavaSE平台中的使用无头模式
文章概述了对此类应用程序施加的限制。

作为一个具体的例子JFreeChart是在桌面和servlet上下文中广泛使用的图形程序。对于后者,ChartUtilities可以使用几种方法中的任何一种在无头环境中流式传输呈现的内容。

或者,考虑使用Java Web Start部署现有的Swing应用程序,例如此处的JFreeChart演示。

附录:此Oracle论坛主题表明Java
Media Framework确实可以抛出异常HeadlessException;建议的解决方法是指定特定的系统属性值:

-Dawt.toolkit=sun.awt.HeadlessToolkit

当模式不可用时,此JFreeChart论坛主题建议Xvfbvnc替代headless



 类似资料:
  • 问题内容: 将iPhone应用程序移植到Android的最有效方法是什么?我知道苹果不喜欢第三方非目标C平台为其平台生成代码…但是有没有可以将iPhone应用程序转换为Android友好代码的东西? 如果不是,那么人们如何为他们现有的iPhone应用程序创建Android版本? 谢谢 问题答案: 没有任何东西可以移植您的应用程序。您可以使用第三方工具来创建可同时在两者中使用的应用程序。这就是Tit

  • 问题内容: 我的服务文件(C:\ WINDOWS \ system32 \ drivers \ etc \ services)具有一堆端口到服务的映射: 我正在尝试找到一种方法,通过Java API(而不是解析)或第三方库以编程方式将端口从端口转换为服务名称? 伪代码: 有什么好的方法可以做到这一点吗? 问题答案: 您正在寻找的是Linux 系统调用的Java实现。看看http://github.

  • 我试图画曼德布罗特集,其中的点是黑色的,其他的都是白色的。在这个初始版本中,我不希望能够放大,而只是创建一个静态图像。 我创建了一个ComplexNumber类,如下所示,用于处理平方运算和将复数相加。 这是我渲染GUI并实际计算Mandelbrot Set中的点的代码。 运行完这段代码后,我得到了下图。看起来曼德尔布罗特的布景有一点模糊,但随后被一吨黑色遮住了。我做错了什么? 更新的解决方案如下

  • 我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?

  • 但是所有的答案和评论对链接帖子的回应也没有太大帮助

  • 问题内容: 我有一个网关应用程序,它带有一个登录对话框,然后是一个GUI窗口。我将在没有显示器的同一位置的服务器上运行此应用程序。我仅在登录时需要与对话框进行交互,并且可能偶尔签出主GUI。服务器是Debian 5.0。 到目前为止,我唯一的想法是: 将X会话隧道传输到我的桌面以进行登录,但是我不确定如果X会话断开连接(即重新启动桌面等)会发生什么。 尝试从包装Java应用程序实例化/启动该应用程