This is the Projection Matrix:
1.0, 0.0, -1.0, 0.0 // x
0.5, 1.0, 0.5, 0.0 // y
0.0, -0.05, 0.0, 0.0 // depth
0.0, 0.0, 0.0, 1.0 // [nothing]
This is the transposed Matrix:
(OpenGL works with transposed matrices)
// x y depth [nothing]
1.0, 0.5, 0.0, 0.0
0.0, 1.0, -0.05, 0.0
-1.0, 0.5, 0.0, 0.0
0.0, 0.0, 0.0, 1.0
Store that in a FloatBuffer:
FloatBuffer matrixBuffer = BufferUtils.createFloatBuffer(4*4); // LWJGLs way
<or do>
FloatBuffer matrixBuffer = ByteBuffer.allocateDirect(4*4 * 4).order(ByteOrder.nativeOrder()).asFloatBuffer().; // own way
matrixBuffer.put(new float[]{1.0F, 0.5F, 0.0F, 0.0F, 0.0F, 1.0F, -0.05F, 0.0F, -1.0F, 0.5F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.0F});
matrixBuffer.flip();
Send to gfx-card:
glMatrixMode(GL_PROJECTION);
glLoadMatrix(matrixBuffer);
// scale down projection a bit, like factor 10
// otherwise a flat 1x1 quad kinda fills the screen
float s = 0.1F;
glScalef(s, s, s);
// switch to model-view matrix for further transformations
glMatrixMode(GL_MODELVIEW);
Well, for everything else you need to know your OpenGL 
To be honest I’ve never heard of Isometric stuff done in the Projection Matrix, but I thought it would be worth the adventure of figuring out how matrix-calculations are actually performed and trying to create my own matrix after I figured out the formulas of real->iso. It’s always fun to share such stuff 