あなたの投稿には多くの情報が欠けているため、正確な解決策を提供することは困難ですが、一般的な考え方は次のとおりです。マウス イベントを受け取り、ライン プレビューを描画する透明な JComponent が必要であると仮定すると、コードは次のようになります。
public class MyLinePreviewComponent extends JComponent {
Point sourcePoint;
Point destinationPoint;
pubic MyLinePreviewComponent() {
this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (sourcePoint == null)
sourcePoint = e.getPoint();
else
sourcePoint = null;
repaint();
}
});
this.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
if (sourcePoint != null)
targetPoint = e.getPoint();
repaint();
}
});
}
public void paintComponent(Graphics g) {
if (sourcePoint != null && destinationPoint != null) {
g.setColor(Color.red);
g.drawLine(sourcePoint.x, sourcePoint.y, destinationPoint.x, destinationPoint.y);
}
}
}
このコードは実行していないことに注意してください。
ライン プレビュー機能を既存のコンポーネントに追加する必要がある場合は、ラインをペイントする前に、paintComponent() で通常のコンテンツを再ペイントする必要があります。