在MacOSX上从终端引发无头异常的Java程序

在MacOSX上从终端引发无头异常的Java程序,java,swing,headless,Java,Swing,Headless,我有一个带有swing gui和graphics2d的java程序,它在Eclipse中运行良好,但当我导出它并运行它(在同一台机器上)时,我得到以下错误: Exception in thread "main" java.awt.HeadlessException at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:202) at java.awt.Window.<init>(Window.ja

我有一个带有swing gui和graphics2d的java程序,它在Eclipse中运行良好,但当我导出它并运行它(在同一台机器上)时,我得到以下错误:

Exception in thread "main" java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:202)
at java.awt.Window.<init>(Window.java:534)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(JFrame.java:224)
at com.lunumia.frame.MainFrame.createFrame(MainFrame.java:17)
at com.lunumia.start.Lunumia.main(Lunumia.java:26)
在createFrame()中:


编辑:发现是由Java1.7引起的,可以在没有。然而,我不能降级,它实际上只是说当我删除java时安装了java 1.7 internal。如何使其工作?

要更快获得更好的帮助,请发布一个。顺便说一句,您能否成功运行本教程中的Oracle Swing示例(通过启动GUI的链接)?“代码示例!”代码段不是SSCCE。这些代码片段没有告诉我哪行代码引发异常。准备一个SSCCE,并给出一个新的堆栈跟踪(带有正确的SSCCE行号)。另外,别忘了回答我的问题。@AndrewThompson是的,我可以,它在Eclipse中也可以工作,只有当我导出时它才不工作。好吧,我不知道哪一行抛出了错误,我只能在终端中得到错误。Eclipse有它自己的JVM。无论你在Mac上安装了什么,都是问题所在。尝试从Oracle安装最新的Java(7),并清除当前机器上的任何内容。
MainFrame.createFrame();
frame = new JFrame("Lunumia");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(900, 600);
frame.setLocationRelativeTo(null);
panel = new PanelLogin(frame);
frame.addKeyListener(new KeyboardListener());
frame.addMouseListener(new MouseClickListener(panel));
frame.add(panel);
frame.setVisible(true);