A.B.
When he says he's not hungry, tell him "that's ok, but if you get down from the table, dinner is over. No more food or snacks for the rest of the night". (Clear the food immediately). He'll probably say ok and jump down and attempt the same thing. This is where the "routine" changes. When he comes back, stay calm and tell him that dinner is over. Say it once and if there is a tantrum IGNORE IT and proceed with dinner. If he continues and disrupts the rest of the family, put him in his room and say that he cannot be with the family when he's behaving that way.
He may go to bed hungry for a night, but have a good breakfast for him. He needs to experience the new cause and effect, so you MUST follow through. When you don't, you are vulnerable to manipulation.
Say what you mean, mean what you say.
Say it once.
It will be hard, but I doubt this will repeat itself as often as his behavior now. The key is to stay calm and not negotiate. Being consistent is the only fair way to enforce this. If a child is told in advance what the consequence is and then experiences that, that is reality discipline. It's not cruel or unreasonably harsh. It IS unfair and unrealistic for a child to grow up thinking the world revolves around him.
Good luck - keep us posted!