Java Applet未运行

问题描述

我使用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 (将#修改为@)