问候堆积如山的伟人。最近我用java编写了一个小的2D游戏,我想把它导出到一个小程序中,它可以在网页上运行。我这样做了,并且代码在作为applet运行时和作为应用程序运行时都运行良好。但是,每当我以applet的形式运行代码时,小的默认的applet窗口就会出现,然后会出现另一个显示内容大小正确的窗口。我认为这就是为什么它不能在我的网页上正确显示的原因。我假设它正在显示第一个窗口中的内容,即空窗口。我想知道我怎样才能做到这样才能只显示一个窗口。我用画布来显示我的窗口。我会上传任何要求的代码。提前谢谢你!
发布于 2013-01-16 21:28:38
Java Plug-in 10.5.1.255
Using JRE version 1.7.0_11-b21 Java HotSpot(TM) Client VM
User home directory = C:\Users\Andrew
----------------------------------------------------
c: clear console window
..
0-5: set trace level to <n>
----------------------------------------------------
Attempting to start init...
-INIT METHOD STARTED-
Preferred size set to java.awt.Dimension[width=852,height=480]
Initialized JFrame with size java.awt.Dimension[width=852,height=480]
Initialized screen (284x160)
Initialized keyboard
Added key listener
Resizeable set to false
Title set
Game component added to screen
Frame packed
Exception in thread "AWT-EventQueue-3" java.lang.NullPointerException
at sun.awt.SunToolkit.createImage(Unknown Source)
at com.sun.deploy.uitoolkit.impl.awt.AWTErrorPanel.getErrorImage(Unknown Source)
at com.sun.deploy.uitoolkit.impl.awt.AWTErrorPanel.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$700(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)也就是说,没有小程序,没有窗口。从控制台输出到跟踪级别5。
更新
新成果:
// ..
Frame packed
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "exitVM.0")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)代码(缺少SSCCE,我们只能猜测),在任何时候调用。
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);如果是,请将其更改为:
// See http://stackoverflow.com/a/7143398/418556 for demo.
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);后者将允许在一个沙箱小程序,而EXIT_ON_CLOSE是不允许的,甚至在一个受信任的小程序。
https://stackoverflow.com/questions/14368112
复制相似问题