So I would have to draw/paint it every time they get hit? or can I get it so it updates all the time and when one hits the other the health goes down alone?
Unless you're dealing with dirty rectangles (which I'm guessing you're not), every time you are calling repaint() it erases everything and then redraws. So you'll just put the above in your draw call and have it pull stats from your characters in order to be up to date. So it'll update every frame, part of that being that it will calculate how much it should draw every frame.