Yeaaah! I have found the easiest way to render only the visible tile. It is so simple, i didn’t even think at this. 
This was my render code:
public void render(GameContainer container, Graphics g) {
g.translate(xOffset, yOffset);
g.setAntiAlias(false);
//Floor
currentLevel.render(0, 0, currentLevel.getLayerIndex("floor"));
currentLevel.render(0, 0, currentLevel.getLayerIndex("floordec"));
for(int y = 0; y < currentLevel.getHeight(); y++) {
//Rendering entities
for(int i = 0; i < lLoader.getEntities().size(); i++) {
Entity currEntity = (Entity) lLoader.getEntities().get(i);
if(currEntity.getY() + currEntity.getHeight() >= y * 32 && currEntity.getY() + currEntity.getHeight() < (y + 1) * 32)
currEntity.render(g);
}
//Rendering tiles
currentLevel.render(0, y * 32, 0, y, currentLevel.getWidth(), 1, currentLevel.getLayerIndex("walls"), false);
currentLevel.render(0, y * 32, 0, y, currentLevel.getWidth(), 1, currentLevel.getLayerIndex("lowobjects"), false);
currentLevel.render(0, (y - 1) * 32, 0, y - 1, currentLevel.getWidth(), 2, currentLevel.getLayerIndex("highobjects"), false);
}
}
And now it is like :
public void render(GameContainer container, Graphics g) {
g.translate(xOffset, yOffset);
g.setAntiAlias(true);
//RENDERING
//Floor
currentLevel.render((-xOffset / 32) * 32, (-yOffset / 32) * 32, -xOffset / 32, -yOffset / 32, WIDTH / 32 + 1, HEIGHT / 32 + 2, currentLevel.getLayerIndex("floor"), false);
currentLevel.render((-xOffset / 32) * 32, (-yOffset / 32) * 32, -xOffset / 32, -yOffset / 32, WIDTH / 32 + 1, HEIGHT / 32 + 2, currentLevel.getLayerIndex("floordec"), false);
for(int y = -yOffset / 32; y < -yOffset / 32 + HEIGHT / 32 + 1; y++) {
//Rendering entities
for(int i = 0; i < lLoader.getEntities().size(); i++) {
Entity currEntity = (Entity) lLoader.getEntities().get(i);
if(currEntity.getY() + currEntity.getHeight() >= y * 32 && currEntity.getY() + currEntity.getHeight() < (y + 1) * 32)
currEntity.render(g);
}
//Rendering tiles
currentLevel.render((-xOffset / 32) * 32, y * 32, -xOffset / 32, y, WIDTH / 32 + 1, 1, currentLevel.getLayerIndex("walls"), false);
currentLevel.render((-xOffset / 32) * 32, y * 32, -xOffset / 32, y, WIDTH / 32 + 1, 1, currentLevel.getLayerIndex("lowobjects"), false);
currentLevel.render((-xOffset / 32) * 32, (y - 1) * 32, -xOffset / 32, y - 1, WIDTH / 32 + 1, 2, currentLevel.getLayerIndex("highobjects"), false);
}
}
I only needed to do some math. 
Blog is updating, so be sure you checked it. 