You could download it from https://bitbucket.org/kevglass/slick although I don’t know if they have any .jar builds there, so you’d have to build it yourself. You could just copy the source of Slick2d into your project’s source folder if you’re feeling slack though.
As for rendering text without using a library, if you want bitmap text you should do something like this:
/**
* Class for printing lines of text using a bitmap font.
* Do whatever you want with it.
* @author DeadlyFugu
*/
class TextPrinter {
Texture tex;
int cw, ch;
int charOffset;
/**
* Creates a new TextPrinter
* @param path Path to a bitmap font image
* @param cw Width of characters in that image
* @param ch Height of characters in that image
* @param first first char in tileset.
* If the bitmap has a space (ASCII 0x20) in
* the top right corner, this should be ' '
*/
public TextPrinter(File path, int cw, int ch, char first) {
this.tex = loadTexture(path);
this.cw=cw;
this.ch=ch;
}
/**
* Print a line of text using this TextPrinter
* @param x X location to draw text from
* @param y Y location to draw text from
* @param str The text to draw
*/
public void drawString(int x, int y, String str) {
tex.bind();
char[] chars = str.toCharArray();
for (int i=0;i<chars.length;i++) {
int c = chars[i];
drawTexturedQuad(x+i*cw,y,cw,ch,c*cw,c*ch,cw,ch);
}
tex.unbind();
}
/**
* Renders a textured quad
*/
private void drawTexturedQuad(int x, int y, int w, int h,
int tx, int ty, int tw, int th) {
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(tx,ty);
GL11.glVertex2f(x,y);
GL11.glTexCoord2f(tx,ty+th);
GL11.glVertex2f(x,y+h);
GL11.glTexCoord2f(tx+tw,ty+th);
GL11.glVertex2f(x+w,y+h);
GL11.glTexCoord2f(tx+tw,ty);
GL11.glVertex2f(x+w,y);
GL11.glEnd();
}
}