JavaFX的LineChart初始化后无法显示坐标点问题咨询
JavaFX LineChart不显示坐标点问题原因及解决方法
核心问题原因
- 手动覆盖了FXML注入的LineChart实例:你代码中用
@FXML标注的lnChart,是FXMLLoader从sample.fxml文件中解析创建、已经绑定到界面场景中的实例,你在initialize方法中执行lnChart = new LineChart<Number,Number>(xAxis,yAxis);时,会把lnChart的引用指向一个全新的、没有被添加到任何显示场景中的LineChart对象。后续给这个新对象添加的所有坐标数据,都不会同步到界面上实际渲染的LineChart组件上。 - 冗余代码无意义:你代码中的
Stage stage = new Stage();没有任何作用,既没有配置场景也没有调用show方法,可直接删除。
解决步骤
- 删除
initialize方法中lnChart = new LineChart<Number,Number>(xAxis,yAxis);这一行,直接使用FXML注入的原生lnChart实例。 - 处理轴配置:如果你需要在代码中自定义x轴y轴,不要重新创建LineChart,直接给注入的实例设置轴即可,代码如下:
final NumberAxis xAxis = new NumberAxis(); final NumberAxis yAxis = new NumberAxis(); // 直接给已有的lnChart实例设置轴,不要创建新的LineChart lnChart.setXAxis(xAxis); lnChart.setYAxis(yAxis);
如果你已经在FXML文件中提前给LineChart配置好了NumberAxis类型的x轴和y轴,这一步可以跳过。
3. 保留原有添加数据系列的代码,修改后的数据就会正常渲染到界面上的LineChart中。
内容的提问来源于stack exchange,提问作者Mohammed Hamdoon
相关产品推荐
相关产品推荐

