Спасите - помогите. Java OpenGL не работает метод setCursor( )
Я вырезал весь код и упростил как мог программу, чтобы оставить саму схему, код рабочий. Подскажите с курсором если кто в курсе.
Код:
package jaga;
import static org.lwjgl.opengl.GL11.*;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Point;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.lwjgl.opengl.*;
import org.lwjgl.*;
public class JaGa
{
public static void main(String[] args)
{
new JaGa();
}
public JaGa()
{
frame=new Andrew();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
static Andrew frame;
class Andrew extends JFrame
{
private static final long serialVersionUID = 1L;
public Andrew()
{
setSize(1200,800);
setTitle("Jag Editor");
Engine engine=new Engine();
Container pane=getContentPane();
pane.add(engine);
}
}
class Engine extends JPanel
{
private static final long serialVersionUID = 1L;
Cursor menuCursor;
public Engine()
{
try {
Display.setDisplayMode(new DisplayMode(1280,800));
Display.setTitle("Jag Engine");
Display.create();
} catch (LWJGLException e) { e.printStackTrace(); }
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
glLoadIdentity();
glOrtho(0,1280,800,0,1,-1);
glEnable(GL_BLEND);
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
try { menuCursor=Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage("res/texture/menu/shotDouble.png"), new Point(0, 0), "menuCursor"); } catch (Exception c) { }
try { this.setCursor(menuCursor); } catch (Exception c) { }
while (!Display.isCloseRequested())
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
Display.update();
Display.sync(60);
}
Display.destroy();
}
}
}
import static org.lwjgl.opengl.GL11.*;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Point;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.lwjgl.opengl.*;
import org.lwjgl.*;
public class JaGa
{
public static void main(String[] args)
{
new JaGa();
}
public JaGa()
{
frame=new Andrew();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
static Andrew frame;
class Andrew extends JFrame
{
private static final long serialVersionUID = 1L;
public Andrew()
{
setSize(1200,800);
setTitle("Jag Editor");
Engine engine=new Engine();
Container pane=getContentPane();
pane.add(engine);
}
}
class Engine extends JPanel
{
private static final long serialVersionUID = 1L;
Cursor menuCursor;
public Engine()
{
try {
Display.setDisplayMode(new DisplayMode(1280,800));
Display.setTitle("Jag Engine");
Display.create();
} catch (LWJGLException e) { e.printStackTrace(); }
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
glLoadIdentity();
glOrtho(0,1280,800,0,1,-1);
glEnable(GL_BLEND);
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
try { menuCursor=Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage("res/texture/menu/shotDouble.png"), new Point(0, 0), "menuCursor"); } catch (Exception c) { }
try { this.setCursor(menuCursor); } catch (Exception c) { }
while (!Display.isCloseRequested())
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
Display.update();
Display.sync(60);
}
Display.destroy();
}
}
}
Будет время завтра протестирую код
Exception я убрал когда уже убедился, что ошибок нет.