He's looking for a mouse-keys style of interaction. interact(item) is too slow for him!
OP:
You can use the following code to generate the area around an item in your inventory (I put this in onpaint just for the visual representation). All you would do then is move the mouse using rectangle destination and click.
Item[] items = this.inventory.getItems();
for (Item item : items) {
Rectangle rectangleAroundItem = this.inventory.getMouseDestination(this.inventory.getSlot(item)).getBoundingBox();
g.drawRect((int) rectangleAroundItem.getX() - 1,
(int) rectangleAroundItem.getY() - 1,
(int) rectangleAroundItem.getWidth() + 1,
(int) rectangleAroundItem.getHeight() + 1);
}
The rectangle will be recreated every iteration, however if the id/name of the item changes and you adjust the filter for the items array, you should be able to write it like that.