So I want to make a super basic lighting system for my games. And how I want to do that is draw the overall darkness on a BufferedImage, and then use ovals to remove pixels in the BufferedImage to fake a light. So how can I do something similar to Graphics.drawOval() but instead of adding color, setting the pixel to a color with an alpha value of 0?
Drawing I made really quick to try to show what I mean:

There are a number of ways you might be able to achieve this. Since you seem to have a number of possible light sources, making use of
Areamight be the simpler solution.This would allow you to simply "subtract" the light source area from a pre-existing area, which would "cut out" the area and allow the background to show through.
For example...
Please, beware, this is just a proof of concept, how you implement in your code is entirely up to you. I've tried to apply some basic optimisation, but how you manage your light sources may effect how you update the "darkness" overlay.
You also consider having a look at:
to get some more ideas