# [JOGL] Access restriction



## Mikescher (3. Jun 2011)

Hi,

da ich auch in Java (mit Eclipse) 3D-Programme erstellen wollte, habe ich versucht JOGL zu benutzen.
Da ich auf java.net/projects/jogl die Jogl.jar nicht gefunden habe und sowieso das Tutorial von http://www.jogl.info/ benutze habe ich mir sowohl Jogl.jar, als auch Jogl.dll von Jogl.info geladen.

Nachdem ich mich jetzt mal an ein bisschen Quellcode versucht habe (ist bis jetzt 1:1 der Beispielcode von Jogl.info) bekomme ich jedoch bei eigentlich allem was von der Jogl.jar stammt folgende (oder ähnliche) Warnung:

```
Access restriction: The constructor GLCapabilities() is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\ext\jogl.jar
```

Mein Code sieht so aus:

```
package myFirstOGL;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import net.java.games.jogl.*;

public class Beispielszene extends JFrame
{
    public Beispielszene()
    {
        GLCapabilities glcaps = new GLCapabilities();
        GLCanvas canvas = GLDrawableFactory.getFactory().
        CreateGLCanvas (glcaps);

        BeispielszeneView view = new BeispielszeneView();
        canvas.addGLEventListener(view);

        setSize(500,500);
        setTitle("CAV-Projekt: JOGL - Beispielszene");
        setResizable(false);

        getContentPane().add(canvas,BorderLayout.CENTER);

        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
    }

    public static void main(String[] args)
    {
        final Beispielszene app = new Beispielszene();

        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                app.setVisible(true);
            }
        });
    }
}
```

Ich weiss leider nicht warum ich keine Rechte habe auf die Elemente aus der Jar zuzugreifen.

Schon mal im Vorraus Danke für jede Hilfe,
Mike


----------



## maki (3. Jun 2011)

Welche IDE verwendest du denn?

Es ist übrigens nicht so gut, seine eigenen dlls in ext Verzeichnis zu kopieren, den java.library.path setzen reicht volllkommen aus.


----------



## Mikescher (3. Jun 2011)

Ich verwende Eclipse. Und Danke für den Tipp mit java.library.path

Grüße
Mike


----------



## Marco13 (3. Jun 2011)

Bei JOGL gab's eine Zeitlang versions-Hickhack, und jogl.info ist AFAIK nicht das aktuellste. Zum start solltest du dir eine einigermaßen aktuelle version von JOGL aus Index of /deployment/webstart/archive holen, und YC021, [jogl2] Base code als Ansatzpunkt für's erste Programm verwenden.


----------



## Mikescher (3. Jun 2011)

Ok,
Danke Marco ich habe mir jetzt mithilfe deines Tutorials sowohl die Jar's als auch die DLL's von dem "Signed Release" auf dieser Seite geladen und in die entsprechenden - von mir erstellten - Unterordner des Projektverzeichnisses gemacht.

Jedoch stocke ich gerade an dem Schritt den Class-Path und den Library-Path zu setzen. Project -> properties -> java build path -> libraries kann ich zwar schön wie auf dem Bild öffnen, jedoch schaffe ich es nicht die Pfade zu setzen.

Ich wäre dir zutiefst verbunden wenn du mir kurz sagen könntest welche Buttons ich klicken muss und welche Werte ich in den Dialogen jeweils eintragen muss.

Grüße
Mike


----------



## Guest2 (3. Jun 2011)

Moin,

leider sind die jars auf der jogamp Seite immer noch (imho) falsch gebaut. Z.B. die eigentliche jogl.all.jar liegt in der jogl.all.jar, sodass Du die jars einmal entpacken must, um an das richtige jar zu kommen.

Dann solltest Du in dem erwähnten Dialog mit "Add JARs" die jars hinzufügen können und mit "Edit" die "Native library location" setzen können.

Und aus dem ext Verzeichnis der JRE solltest Du alles von jogl wieder löschen, da sich das sonnst beißt.

Viele Grüße,
Fancy


----------



## Mikescher (3. Jun 2011)

Danke, 

jetzt funktioniert es (hab auf jeden Fall das typische OpenGL-schwarze-Fenster).

Ich wusste gar nicht dass es verglichen mit anderen Programmiersprechen in Java so schwer ist OpenGL zu benutzen.

Auf jeden Fall Danke an alle die geholfen haben :toll:


----------

