由于某些原因,我想在我的javafx应用程序中创建一个孤独的Number轴(无任何图表)。我的问题是该轴似乎根本没有扩展,因此无法从该轴读取任何值。

这是我的问题的一个例子:

package application;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.layout.BorderPane;
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            BorderPane root = new BorderPane();
            NumberAxis axis = new NumberAxis(0, 100, 1);
            axis.setMinWidth(300);
            axis.setPrefWidth(300);
            axis.setMaxWidth(300);
            axis.setLabel("testAxis");
            root.getChildren().add(axis);

            Scene scene = new Scene(root,400,400);

            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

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


有人可以帮我吗?

最佳答案

我认为没有图表的轴将不起作用。当您只是用一条线及其比例绘制自己的轴怎么样?

    Pane root = new Pane();

    Scene scene = new Scene(root, 300, 250);

    Line lineScal = new Line(0, 50, 600, 50);
    lineScal.setStroke(Color.LIGHTBLUE);
    for (int i = 600; i >= 0; i = i - 50)

    {

        Line line1 = new Line(i, 50, i, 30);

        Text scaleText = new Text(i, 20, Double.toString(i));
        line1.setStroke(Color.LIGHTGRAY);

        root.getChildren().addAll(line1,scaleText);

    }

    root.getChildren().add(lineScal);
    primaryStage.setTitle("Hello World!");
    primaryStage.setScene(scene);
    primaryStage.show();
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args)
{
    launch(args);
}

09-11 18:42
查看更多