Rysowanie linii na ramce JFrame

Próbuję narysować linię za pomocąGraphics 2D, ale potem linia pojawia się nad wszystkimi innymi komponentami wJFrame czyniąc je niewidzialnymi. Jak mogę rozwiązać ten problem?

Oto kod:

import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

class Success extends JFrame{

    public Success(){
        JPanel panel=new JPanel();
        getContentPane().add(panel);
        setSize(450,450);

        JButton button =new JButton("press");
        panel.add(button);
    }

    public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        Line2D lin = new Line2D.Float(100, 100, 250, 260);
        g2.draw(lin);
    }

    public static void main(String []args){
        Success s=new Success();
        s.setVisible(true);
    }
}

questionAnswers(1)

yourAnswerToTheQuestion