paintComponent is really a Graphice2D
object in Java 2, so it may quickly be downcast to Graphics2D
to make additional methods available.
For example
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
// Use g2 for all following operations
g2.drawLine(...);