我正在学习Java中的GUI,为此我创建了一个演示程序:
import java.awt.*;
public class FrameDemo extends Frame {
public FrameDemo(){
super("Frame Demo");
setSize(200, 200);
setVisible(true);
}
public static void main(String args[]){
new FrameDemo();
}
}
Run Code Online (Sandbox Code Playgroud)
它编译成功.但是当我尝试执行该程序时,我发现以下错误:
Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
at java.awt.Window.<init>(Window.java:437)
at java.awt.Frame.<init>(Frame.java:419)
at FrameDemo.<init>(FrameDemo.java:4)
at FrameDemo.main(FrameDemo.java:9)
Run Code Online (Sandbox Code Playgroud)
我正在使用Xubuntu 10.10并java -version给出:
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.5) (6b20-1.9.5-0ubuntu1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
还有一件事:当我尝试执行Dr. Java和HJSplit的jar文件时,我遇到了同样的错误.
Exception in thread "main" java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
at java.awt.Window.(Window.java:432)
at java.awt.Frame.(Frame.java:403)
at javax.swing.JFrame.(JFrame.java:202)
at DrawGUI.(DrawGUI.java:15)
at ShapeCreator.(ShapeCreator.java:31)
at ShapeCreator.main(ShapeCreator.java:138)
这个错误信息是什么意思?我该如何解决?
我正在使用一些代码,使用AWT和Swing功能将动画输出写入桌面.它使用2D图形绘制并以字体呈现文本.
此代码可以使用Java Media Framework将动画保存到电影文件.
我想将此代码移植到纯服务器端环境,以便使用Web UI.绘图代码可以在servlet容器内运行,也可以作为命令行程序在外部运行.(或者我可以选择不使用servlet容器,而是使用从命令行运行Java Web服务器的新方法.)
我可以在不启动服务器上的X Window系统的情况下使用AWT和Swing绘图功能吗?
我在我的应用程序的 servlet 中使用以下代码
java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage(str1);
当我运行应用程序并调用 servlet 时,出现以下错误
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
java.awt.Toolkit$2.run(Toolkit.java:834)
java.security.AccessController.doPrivileged(Native Method)
java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
noticeandreports.pdf.appendFiles.PdfFunctionsClass.addSealSpace(PdfFunctionsClass.java:198)
OJ.NoticesandReports.generate_151_OJNotice.execute(generate_151_OJNotice.java:768)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Run Code Online (Sandbox Code Playgroud)
我已在具有 Java 版本 JDK 1.6.20 的 Linux 计算机上托管该应用程序。
可能是什么原因导致了这个问题...
noticeandreports.pdf.appendFiles.PdfFunctionsClass是编写代码的类,OJ.NoticesandReports.generate_151_OJNotice是调用上述类中方法的 servlet...