Рисование линии на JFrame

Я пытаюсь нарисовать линию, используяGraphics 2D, но затем линия появляется над всеми другие компоненты вJFrame таким образом делая их невидимыми. Как мне исправить эту проблему?

Вот код:

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);
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос