package test; import com.jogamp.newt.event.MouseEvent; import com.jogamp.newt.event.MouseListener; import com.jogamp.newt.opengl.GLWindow; import com.jogamp.opengl.GLCapabilities; import com.jogamp.opengl.GLProfile; public class Resize implements MouseListener{ private final double[] startPos = new double[2]; private final double[] startExt = new double[2]; public static void main(String[] args) throws InterruptedException { new Resize(); Thread.sleep(50000); } GLWindow glWindow; public Resize() { GLCapabilities glCapabilities = new GLCapabilities(GLProfile.getDefault()); glWindow = GLWindow.create(glCapabilities); //attach listeners glWindow.addMouseListener(this); glWindow.setSize(400, 200); glWindow.setPosition(300, 300); glWindow.setVisible(true); } @Override public void mouseClicked(MouseEvent me) { } @Override public void mouseEntered(MouseEvent me) { } @Override public void mouseExited(MouseEvent me) { } @Override public void mousePressed(MouseEvent me) { startPos[0] = me.getX(); startPos[1] = me.getY(); startExt[0] = glWindow.getWidth(); startExt[1] = glWindow.getHeight(); } @Override public void mouseReleased(MouseEvent me) { } @Override public void mouseMoved(MouseEvent me) { } @Override public void mouseDragged(MouseEvent me) { double x = me.getX(); double y = me.getY(); double diffx = x- startPos[0]; double diffy = y- startPos[1]; glWindow.setSize( (int)(startExt[0]+diffx), (int)(startExt[1]+diffy)); } @Override public void mouseWheelMoved(MouseEvent me) { } }