If you are using the term “isometric” to mean stuff like the classic QBert pyramid, that can certainly be done with simple graphics that you can draw yourself. All you need is a polygon and to choose whether to fill it or just paint the border. These things are provided in AWT & Graphics2D libraries. Drawing the equivalent of a QBert might be easier to do as an import.
It is possible to get by without explicitly double buffering. If you use a Swing JComponent or JPanel, the double buffering is handled automatically. It’s not the fastest, but for a simple isometric game it could very well be fine.
The biggest hurdle, my guess, is getting the game loop to work. There are a couple different methods. One of the simplest is to use a util.Timer to call an update() method and then a render(), at a fixed repeating increment. A more popular alternative is to use a while loop and calculate elapsed time during the update() and render(), and then use the elapsed time to calculate how much to sleep in order to make the increment a fixed repeating amount.
Alternatively, logic can be written that makes the updates proportional to the elapsed time. (In this case, there is no requirement for a fixed repeating time interval. The interval can vary (within reason). But all these game loops work with core Java.
So basically the answer to your initial question is yes.
I have gotten horribly stalled out with “Hexara” (a puzzle game), but the graphics and graphic effects are all drawn with Java2D, with the sole exception of the little symbols/icons within the hexes which I think I made with Microsoft Paint. At this point the sound is all procedural as well, using only the javax.sound.sampled library.