用 JavaFX 或 Swing 画线路图

在软件开发中,画线路图是一个常见的需求。通过线路图,我们可以清晰地展示出点与点之间的连接关系,以及它们之间的距离和方向。Java 提供了两个主要的图形库,JavaFX 和 Swing,可以用于绘制线路图。

JavaFX 画线路图

JavaFX 是 Java 平台的一部分,是一个用于创建富客户端应用程序的图形库。它提供了丰富的图形组件和功能,非常适合用于画线路图。下面是一个使用 JavaFX 画线路图的示例代码:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Line;
import javafx.stage.Stage;

public class LineChartFX extends Application {

    @Override
    public void start(Stage primaryStage) {
        Pane root = new Pane();

        // 创建线路图上的点
        Line line1 = new Line(100, 100, 200, 200);
        line1.setStroke(Color.RED);
        Line line2 = new Line(200, 200, 300, 100);
        line2.setStroke(Color.BLUE);
        
        // 将线路图上的点添加到画布上
        root.getChildren().addAll(line1, line2);

        Scene scene = new Scene(root, 400, 300);
        primaryStage.setTitle("Line Chart using JavaFX");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上述代码中,我们首先创建了一个 Pane,它是 JavaFX 中用于布局的容器。然后,创建了两条线路图上的线,并设置它们的起点和终点坐标。最后,将这些线添加到 Pane 中,并将 Pane 添加到场景中,展示出线路图。

Swing 画线路图

Swing 是 Java 提供的另一个图形库,也可以用于绘制线路图。它提供了一些基本的绘图组件和方法,可以用于创建和修改图形对象。下面是一个使用 Swing 画线路图的示例代码:

import javax.swing.*;
import java.awt.*;

public class LineChartSwing extends JFrame {

    public LineChartSwing() {
        setTitle("Line Chart using Swing");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        // 创建线路图上的点
        g.setColor(Color.RED);
        g.drawLine(100, 100, 200, 200);
        g.setColor(Color.BLUE);
        g.drawLine(200, 200, 300, 100);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new LineChartSwing());
    }
}

在上述代码中,我们创建了一个继承自 JFrame 的 LineChartSwing 类,并在其中覆写了 paint 方法。在 paint 方法中,我们使用 Graphics 对象绘制线路图上的线。

总结

通过使用 JavaFX 或 Swing,我们可以轻松地绘制线路图。JavaFX 提供了更丰富的图形组件和功能,而 Swing 则更加轻量级。通过选择合适的图形库,我们可以根据需求绘制出令人满意的线路图。

旅行图示例:

journey
    title 旅行图示例
    section 起点到终点的旅行路线
    中国 --> 美国 --> 英国 --> 法国 --> 中国

无论是 JavaFX 还是 Swing,它们都提供了丰富的绘图功能,可以帮助我们创建出精美的线路图。根据自己的需求和技术要求,选择合适的图形库来完成线路图的绘制任务。无论是用 JavaFX 还是 Swing,都能够满足我们的绘图需求。