JavaFX,尝试将折线图数据系列动态传递给控制器​​时出现问题

2022-09-29
前端之家小编收集整理的JavaFX,尝试将折线图数据系列动态传递给控制器​​时出现问题内容,希望整理的这个开发编程问题JavaFX,尝试将折线图数据系列动态传递给控制器​​时出现问题能够快速解决!

代码问题

我一直在研究JavaFX问题。我有一个简单的程序,该程序包含基于TreeView更改SubScenes的主场景。子场景之一包括折线图。我的意图是,在启动程序后,它将在后台进行一些计算,并将XYChart.Series传递给折线图。但是,我无法使数据显示在图表上。代码如下:

我的启动函数(除启动(参数)之外,主函数为空):

public void start(Stage primaryStage) throws Exception{

    //Create main Scene
    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(getclass().getResource("/PrimaryStage.fxml"));
    Parent root = loader.load();
    primaryStage.setTitle("Radial Turbine Design Suite");
    primaryStage.setScene(new Scene(root,1280,720));
    primaryStage.show();

    //Run calculations and create XYChart.Series
    PrelimSizingTurbine run1 = new PrelimSizingTurbine();
    run1.prelimSizingTurbine();
    XYChart.Series<Double,Double> prelimDataSeriesHub = run1.createSeries(run1.rotorHubContour,"Rotor Hub");

    //access the SubScene with the LineChart and plot the series
    FXMLLoader newLoader = new FXMLLoader();
    newLoader.setLocation(getclass().getResource("/PreliminaryTurbinesizing_Geometry.fxml"));
    Parent root2 = newLoader.load();
    PreliminaryTurbinesizing_GeometryController controller = newLoader.getcontroller();
    controller.preliminaryTurbineGeometry.getData().add(prelimDataSeriesHub);

}

createSeries方法:

    public XYChart.Series<Double,Double> createSeries(Double[][] coords,String seriesname){
        XYChart.Series<Double,Double> series = new XYChart.Series<>();
        series.setName(seriesname);

        for(int i = 0; i < coords.length; i++){
            series.getData().add(new XYChart.Data(coords[i][0],coords[i][1]));
        }

        return series;
    }

然后使用LineChart的子场景控制器:

public class PreliminaryTurbinesizing_GeometryController implements Initializable {

    @FXML
    public LineChart<Double,Double> preliminaryTurbineGeometry;

    @FXML
    public NumberAxis xAxis;

    @FXML
    public NumberAxis yAxis;

    @FXML
    AnchorPane PreliminaryTurbinesizing_Geometry;

    @Override
    public void initialize(URL location,ResourceBundle resources){

    }
}

有趣的是,看起来我可以访问适当的控制器。我试过从与LineChart相同的控制器打印字符串,并且效果很好。但是,所有与LineChart相关的代码似乎都被忽略了,并且没有显示在图表上。

问题答案

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:starryrocklee#gmail.com (将#修改为@)

如果觉得前端之家所整理的内容很不错的话,欢迎点击下方分享按钮,转发给身边开发程序员好友。

编程问答


我正在尝试使用node.js,react和MongoDB将我的应用程序部署到Heroku;部署成功;但是,该网站无法从MongoDB获
里面的箱子有问题吗 <pre><code>case&#39;usal&#39;: d= (while(s2&gt;0)
我正在尝试从Wikipedia中查找页面列表的Wiki ID。这是我的想法,但是在打印“简介”时出现错误:“类型
我正在学习ES6,并且正在学习免费的在线课程。在课程中,我们涵盖了Promises,所以我有: <pre><code>i
当我尝试运行此代码时,它显示“ com.mysql.jdbc.JDBC4ResultSet@7e2d773b”,当前该表只有一条记录。 <pre><co