问题描述
我使用eclipse运行applet时遇到问题,applet出现黑屏,尽管正确安装了jdk,但什么也没出现
这是我得到的错误:
Exception in thread "Animation Thread" java.lang.RuntimeException: javax.media.opengl.GLException: Caught RuntimeException: Framebuffer objects are not supported by this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help. on thread AWT-EventQueue-1
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnopenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnopenGLThread(ThreadingImpl.java:201)
at javax.media.opengl.Threading.invokeOnopenGLThread(Threading.java:202)
at javax.media.opengl.Threading.invoke(Threading.java:221)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:525)
at processing.opengl.PJOGL.requestDraw(PJOGL.java:698)
at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1656)
at processing.core.papplet.run(papplet.java:2260)
at java.lang.Thread.run(UnkNown Source)
Caused by: javax.media.opengl.GLException: Caught RuntimeException: Framebuffer objects are not supported by this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help. on thread AWT-EventQueue-1
at javax.media.opengl.GLException.newGLException(GLException.java:75)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1311)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1131)
at javax.media.opengl.awt.GLCanvas$11.run(GLCanvas.java:1394)
at java.awt.event.InvocationEvent.dispatch(UnkNown Source)
at java.awt.EventQueue.dispatchEventImpl(UnkNown Source)
at java.awt.EventQueue.access$500(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$JavaSecurityAccessImpl.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)
Caused by: java.lang.RuntimeException: Framebuffer objects are not supported by this hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for help.
at processing.opengl.PJOGL$PGLListener.init(PJOGL.java:890)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:640)
at jogamp.opengl.GLDrawableHelper.init(GLDrawableHelper.java:662)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1366)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1275)
... 16 more
OpenGL error 1280 at top beginDraw(): invalid enumerant
这是代码:
package module1;
import processing.core.papplet;
import de.fhpotsdam.unfolding.unfoldingmap;
import de.fhpotsdam.unfolding.geo.Location;
import de.fhpotsdam.unfolding.providers.AbstractMapProvider;
import de.fhpotsdam.unfolding.providers.Google;
import de.fhpotsdam.unfolding.providers.MBTilesMapProvider;
import de.fhpotsdam.unfolding.utils.MapUtils;
/** HelloWorld
* An application with two maps side-by-side zoomed in on different locations.
* Author: UC San Diego Coursera Intermediate Programming team
* @author Your name here
* Date: July 17,2015
* */
public class HelloWorld extends papplet
{
/** Your goal: add code to display second map,zoom in,and customize the background.
* Feel free to copy and use this code,adding to it,modifying it,etc.
* Don't forget the import lines above. */
// You can ignore this. It's to keep eclipse from reporting a warning
private static final long serialVersionUID = 1L;
/** This is where to find the local tiles,for working without an Internet connection */
public static String mbTilesstring = "blankLight-1-3.mbtiles";
// IF YOU ARE WORKING OFFLINE: Change the value of this variable to true
private static final boolean offline = false;
/** The map we use to display our home town: La Jolla,CA */
unfoldingmap map1;
/** The map you will use to display your home town */
unfoldingmap map2;
public void setup() {
size(800,600,P2D); // Set up the Applet window to be 800x600
// The OPENGL argument indicates to use the
// Processing library's 2D drawing
// You'll learn more about processing in Module 3
// This sets the background color for the Applet.
// Play around with these numbers and see what happens!
this.background(200,200,200);
// Select a map provider
AbstractMapProvider provider = new Google.GoogleTerrainProvider();
// Set a zoom level
int zoomLevel = 10;
if (offline) {
// If you are working offline,you need to use this provider
// to work with the maps that are local on your computer.
provider = new MBTilesMapProvider(mbTilesstring);
// 3 is the maximum zoom level for working offline
zoomLevel = 3;
}
// Create a new unfoldingmap to be displayed in this window.
// The 2nd-5th arguments give the map's x,y,width and height
// When you create your map we want you to play around with these
// arguments to get your second map in the right place.
// The 6th argument specifies the map provider.
// There are several providers built-in.
// Note if you are working offline you must use the MBTilesMapProvider
map1 = new unfoldingmap(this,50,350,500,provider);
// The next line zooms in and centers the map at
// 32.9 (latitude) and -117.2 (longitude)
map1.zoomAndPanTo(zoomLevel,new Location(32.9f,-117.2f));
// This line makes the map interactive
MapUtils.createDefaultEventdispatcher(this,map1);
// Todo: Add code here that creates map2
// Then you'll modify draw() below
}
/** Draw the Applet window. */
public void draw() {
// So far we only draw map1...
// Todo: Add code so that both maps are displayed
map1.draw();
}
}
此代码来自UCSandeigo的面向对象编程课程。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)