You should render stuff consecutively. Mixing up the rendering of your batch and that of the stage is not the way to do it. Especially if to consider that I am almost convinced the batch you are showing in your code and that used by the stage are two different objects.
Change your code as follows:
I also highly recommend that you watch dermetfan's (Robin S.) beginner tutorial on libGDX, he makes use of scene2d in his episodes and provides very nice explanation and illustration of how to work with it properly. Just watch them all, starting with this one Java Game Development (LibGDX) | Episode 1.
Hope this helps you.