数字轴无法正确显示javafx

时间:2015-07-08 08:18:16

标签: java charts javafx

出于某些原因,我想在我的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);
    }
}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为没有图表的轴不会起作用。当你用一条线和它上面的刻度画你自己的轴时怎么样?

    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);
}