Por que alguém tem que usar o método paintComponent para desenhar em Java?

Espero que esta pergunta não seja considerada muito genérica. Eu entendo que para desenhar em umJPanel você substitui opaintComponent método e coloque todo o seu código de desenho dentro desse método. Minha pergunta é por que! Por que o Java não parece permitir / fornecer o desenho com métodos comopanel.drawLine(x1,y1,x2,y2) oupanel.drawText(text,x,y)? Foi tudo muito mais fácil em delphi. Deve haver uma razão pela qual eu não consigo entender.

questionAnswers(1)

yourAnswerToTheQuestion