java点击按钮,调用类的对象画线可以吗?

现在用类的对象不会报错,但点击按钮不画线。
要调用的类:
import javax.swing.;
import java.awt.
;
class SetPixel1 extends JPanel
{ Color color;
int startX,startY,endX,endY;
public SetPixel1()
{ color=Color.blue;
startX=50;
startY=50;
endX=150;
endY=150;
}
public void paintComponent(Graphics g)
{ g.setColor(color);
drawLine(g,startX,startY,endX,endY);
}
void drawLine(Graphics g,int x1,int y1,int x2,int y2)
{ g.drawLine(x1,y1,x2,y2);
}
}
写的代码:
import javax.swing.;
import java.awt.
;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class SetPixel2 extends JPanel implements ActionListener
{ Color color;
int startX,startY,endX,endY;
JPanel jp=new JPanel();
JButton jb1=new JButton("画线");
public SetPixel2()
{ color=Color.blue;
startX=50;
startY=50;
endX=150;
endY=150;

    jb1.addActionListener(this);
    this.add(jb1);
    
}

void drawLine(Graphics g,int x1,int y1,int x2,int y2)
{  g.drawLine(x1,y1,x2,y2);
}

public void actionPerformed(ActionEvent e) {
    JButton jb=(JButton)e.getSource();
    if(jb==jb1){
        SetPixel1 s=new SetPixel1();
        jp.add(s);
        jp.setVisible(true);
        this.add(jp);
    }
    //Graphics g = this.getGraphics().create();
    // if(jb==jb1) {
      //  g.setColor(color);
       // drawLine(g, startX, startY, endX, endY);
    //}用这个能实现 
  }

}
public class huaxian2 extends JFrame
{ public huaxian2()
{ super("PixelColor");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(new Rectangle(100,100,300,300));
SetPixel2 set=new SetPixel2();
add(set);
}
public static void main(String[] args)
{ huaxian2 setPixel2=new huaxian2();
setPixel2.setVisible(true);
}
}