import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
//import java.awt.geom.Point2D;
import javax.swing.JComponent;

public class LineComponent extends JComponent
{
	public void paintComponent(Graphics g) 
	{
            //RecoverGraphics2D
	    Graphics2D g2 = (Graphics2D) g;
            Line2D.Double segment = new Line2D.Double(5, 10, 70 ,100);
/*
	Point2D.Double from = new Point2D.Double(5, 10);
        Point2D.Double to = new Point2D.Double(70, 100);
	Line2D.Double segment = new Line2D.Double(from, to);
*/
	    g2.draw(segment);
	}
}

import javax.swing.JFrame;

public class LineViewer
{
	public static void main(String[] args)
	{
	    JFrame frame = new JFrame();
	    frame.setSize(300, 400);
	    frame.setTitle("Line Segment");
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	    LineComponent component = new LineComponent();
	    frame.add(component);

	    frame.setVisible(true);

	}
}

   

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import javax.swing.JComponent;

public class LineComponent extends JComponent
{
	public void paintComponent(Graphics g) 
	{
            //RecoverGraphics2D
	    Graphics2D g2 = (Graphics2D) g;
 //          Line2D.Double segment = new Line2D.Double(5, 10, 70 ,100);

	Point2D.Double from = new Point2D.Double(5, 10);
        Point2D.Double to = new Point2D.Double(70, 100);
	Line2D.Double segment = new Line2D.Double(from, to);

	    g2.draw(segment);
	    g2.drawString("Message", 70, 100);
	}
}