swing 画线问题?

容器是JPanel,容器中有1个JPanel(A),2个JLable(图片)。在A上画线,如何实现画的线(还有重绘的时候)在2个JLable之下(重合的地方被JLable覆盖)?
说明:图片中样式是在重绘以后,刚画完线时会覆盖JLable.

不让画的线把JLabel盖住的方法:
[code="java"]
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Stroke stroke = g2d.getStroke();
Color color = g2d.getColor();

// draw line
g2d.setStroke(new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER));
g2d.setColor(Color.RED);
g2d.drawLine(100, 100, 200, 200);
g2d.setStroke(stroke);
g2d.setColor(color);

this.paintComponents(g2d);

}[/code]