Charles Barkley has been one of LeBron James’ most vocal critics over the last few years. The TNT analyst has criticized LeBron over and over and over again. And most recently, the NBA Hall of Famer used his platform to send shots in LeBron’s direction after he publicly called for the Cavaliers to add a "f*cking playmaker" to their roster. Barkley referred to LeBron as "whiny" on TNT’s Inside the NBA and said that the request LeBron made was "inappropriate."

"He’s the best player in the world," Barkley said. "Does he want all of the good players? He don’t want to compete?"

LeBron has apparently heard enough. Over the years, he has done his best to ignore Barkley and his many criticisms. But after the Cavaliers lost to the Mavericks on Monday night, he was asked about the recent jabs Barkley took. And while he initially tried to play them off like he always does by saying they are "good for the ratings," LeBron backtracked a short time later and decided that Monday night was going to be the night he finally issued a formal response to all of the things Barkley has said about him over the years. "He’s a hater," LeBron said, according to "What makes what he says credible? Because he’s on TV?"

LeBron then continued defending himself by running down a long list of things that Barkley did wrong back during his playing days. Things that would get LeBron crucified by guys like Barkley if he ever dared to do them throughout his career.

"I’m not going to let him disrespect my legacy like that," LeBron said. "I’m not the one who threw somebody through a window. I never spit on a kid. I never had unpaid debt in Las Vegas. I never said, 'I’m not a role model.' I never showed up to All-Star Weekend on Sunday because I was in Vegas all weekend partying. All I’ve done for my entire career is represent the NBA the right way. Fourteen years, never got in trouble. Respected the game. Print that."

And LeBron didn’t stop there. He’s been criticized by Barkley—and others—over the years for being too friendly with guys like Dwyane Wade, Carmelo Anthony, and Chris Paul. But LeBron called Barkley out for being the same way with Michael Jordan.

"Go watch the ’93 Finals when John Paxson hit the shot," LeBron said. "Barkley and Jordan were laughing and joking with each other during one of the games while somebody’s shooting a free throw. In the Finals. But, oh, nobody were friends back then."

LeBron even suggested that Barkley might not be happy doing what he’s doing for a living right now. "I know he wanted to retire a long time ago, but he can’t," he said. "He’s stuck up on that stage every week."

And he finished by challenging Barkley to come and talk to him if he wants to settle the score between them. "If this makes him want to talk to me, the schedule’s out there," LeBron said. "He knows every road arena I’ll be in. Don’t just come up to me at All-Star and shake my hand and smile."

LeBron—who has been frustrated with the way things have been going for the Cavs this month and has been very vocal about it—left his team’s locker room a short time later. But not before he stated the obvious and told reporters that he’s sick of taking the high road when it comes to addressing critics like Barkley. "I’m tired of biting my tongue," he said. "There’s a new sheriff in town."

Will any of this get Barkley to STFU when it comes to LeBron? Very doubtful. In fact, we’re sure Barkley will address all of this ASAP. But it’s kind of amazing that it’s taken LeBron this long to go off on Barkley when you think about all of the criticism that he has endured from him over the years. You can officially add LeBron to this list of people who can't stand Barkley.