Hola:
La línea se dibuja con graphics.drawLine() sí o sí, no hay otra manera. Lo que puedes hacer es "darle la vuelta" al asunto. Ponle a tu clase un método dibujate(Graphics g) y dentro haz la llamada a drawLine(). De eata forma, en el método paint() de tu panel (debes heredar de él y sobreescribir dicho método) , puedes hacer esto
Código java:
Ver originalpublic class Panel extends JComponent { // o el componente swing que quieras ...
@Override
...
tuLinea.pintate(g);
}
...
}
y dentro de tu clase línea
En cualquier cosa esta solución puede no ser elegante, yo no metería una dependencia de Graphics en la clase Linea. No sé qué hace línea, pero si sólo tiene los puntos x,y de inicio y fin o lo que sea, es una clase muy básica mientras que Graphics es una clase compleja y meter la dependencia puede hacer que luego Linea no te sirva en otros sitios.
Echa un ojo a este enlace, hay un pequeño "paint" que puede servirte de ejemplo.
Se bueno.