(LWJGL) Shader not working and GL context problems

I’m following the LWJGL shader tutorial http://wiki.lwjgl.org/wiki/GLSL_Shaders_with_LWJGL and the code isn’t working correctly. I tried moving around shader files and I still get

java.lang.RuntimeException: No OpenGL context found in the current thread.
	at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)
	at org.lwjgl.opengl.ARBShaderObjects.glDeleteObjectARB(ARBShaderObjects.java:63)
	at com.pong.main.Box.createShader(Box.java:124)
	at com.pong.main.Box.<init>(Box.java:37)
	at com.pong.main.a.<init>(a.java:20)
	at com.pong.main.a.main(a.java:72)

Main Class (renamed a) http://pastebin.com/4ueWTJLJ
Box class http://pastebin.com/XFZVxBSj

I’ll take a guess and say your issue is here:

private Box box = new Box();

public a()
{
	// "box" essentially gets created here
	init();
}

Init() sets up a display, and thus the OpenGL context. However, where you are instantiating your box means that a box is being created before you are calling init(), and the constructor of Box has openGL calls. OpenGL calls cannot happen until the context has been created. You should either remove OpenGL calls from the constructor of Box and move to an init() method in them, or delay creation of any boxes until after the context has been created.