Q:

Detecting a click on a tile

I'm making a simple tile-map system in LWJGL, and I'm trying to figure out how to detect if the mouse is clicking inside of a tile. So far no matter where I click it's always the same tile that is shown.
Code:
int blockWidth = 100;
int blockHeight = 100;

List<Tile> tiles = new ArrayList<Tile>();

private void addTiles(){
    for(int i = 0; i < ((Display.getHeight() / blockHeight) * (Display.getWidth() / blockWidth)); i++)
        tiles.add(new Tile(10,10,blockWidth,blockHeight, i));
}

//...

if(Mouse.isButtonDown(0)){
            System.out.println("Mouse clicked at (" + Mouse.getX() + ", " + Mouse.getY() + ")");
            for(Tile tile : tiles){
                if(tile.inBounds(Mouse.getX(), Mouse.getY())){
                    tile.highlight();
                    System.out.println("Box clicked at (" + Mouse.getX() + ", " + Mouse.getY() + ").");
                    break;
                }
            }
}

the inBounds method:
public boolean inBounds(int x, int y){
    Rectangle bounds = new Rectangle();
    bounds.setBounds(x, y, width, height);
    if(bounds.intersects(x,y,1,1)){
        System.out.println("Tile " + num + " clicked. X/Y val is (" + this.x + "," + this.y + ")");
        return true;
    }else{
        return false;
    }

}

A:

You can avoid the potentially O(N*M) containemt checks by simply calculating the tile's array index in O(1) time:
  
int pixelCoordToIndex(int x, int y)
{
    return ((y / tileHeight) * numTilesX) + (x / tileWidth);
}

Your code is then reduced to:
System.out.println("Tile " + pixelCoordToIndex(x, y) + " clicked. X/Y val is (" + x + "," + y + ")");

This decouples the performance of containment checks from the map's extents, saving millions of unnecessary checks on moderately large maps.

A:

The x and y you use here:
bounds.setBounds(x, y, width, height);

are the parameters x, y that are being passed into the method. 
I am assuming that there is also an x and y in your Tile class. So you either need to rename the parameters or use this. in front of your variables.
public boolean inBounds(int x, int y){
    Rectangle bounds = new Rectangle();
    bounds.setBounds(this.x, this.y, width, height); // change here
    if(bounds.intersects(x,y,1,1)){
        System.out.println("Tile " + num + " clicked. X/Y val is (" + this.x + "," + this.y + ")");
        return true;
    }else{
        return false;
    }
}

