I tried your idea and I get this exception:
java.lang.IllegalArgumentException: Number of remaining buffer elements is 1024, must be at least 4096
at org.lwjgl.BufferChecks.throwBufferSizeException(BufferChecks.java:125)
at org.lwjgl.BufferChecks.checkBufferSize(BufferChecks.java:140)
at org.lwjgl.NondirectBufferWrapper.wrapBuffer(NondirectBufferWrapper.java:101)
at org.lwjgl.opengl.GL11.glTexImage2D(GL11.java:2703)
at Texture.setImage(Texture.java:128)
at Texture.setImage(Texture.java:209)
at Game.init(Game.java:74)
at Game.main(Game.java:41)
at __SHELL0.run(__SHELL0.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:792)
I did have to make the Image IO read a url though
ImageIO.read(url);

