当前位置: 首页 > 知识库问答 >
问题:

JavaFx Linechart呈现数据[重复]

朱毅
2023-03-14

我对线阵图有问题。

我不明白,为什么不渲染数据:

package diagram;

import Database.OracleConnector;
import Hlavni.FXMLCMain;
import atribute.DiagramAttribute;
import java.net.URL;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;

public class FXMLCdia implements Initializable {

    strong textprivate FXMLCMain rootWindow;

    @FXML
    private LineChart<Number, Number> lineChart;
    @FXML
    private NumberAxis numberAxisx;
    @FXML
    private NumberAxis numberAxisy;

    @Override
    public void initialize(URL url, ResourceBundle rb) {

        XYChart.Series series1 = new XYChart.Series();
        series1.setName("Portfolio 1");

        series1.getData().add(new XYChart.Data(7, 23));
        series1.getData().add(new XYChart.Data(8, 14));
        series1.getData().add(new XYChart.Data(9, 15));
        series1.getData().add(new XYChart.Data(10, 24));
        series1.getData().add(new XYChart.Data(11, 34));

        numberAxisx = new NumberAxis();
        numberAxisy = new NumberAxis();
        lineChart = new LineChart<Number, Number>(numberAxisx, numberAxisy);
        lineChart.getData().addAll(series1);
        System.out.println(lineChart.getData().get(0).getData());
       //result: [Data[7,23,null], Data[8,14,null], Data[9,15,null], Data[10,24,null],Data[11,34,null]]
    }

    public void setMainWindow(FXMLCMain rootWindow) {
        this.rootWindow = rootWindow;
    }

Fxml文件:

    <?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.text.*?>
<?import javafx.scene.chart.*?>
<?import java.lang.*?>
<?import java.net.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane id="AnchorPane" prefHeight="612.0" prefWidth="1352.0" styleClass="mainFxmlClass" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="diagram.FXMLCdia">
    <stylesheets>
        <URL value="@fxmldia.css" />
    </stylesheets>
   <children>
      <LineChart fx:id="LineChart" layoutX="5.0" layoutY="5.0" prefHeight="605.0" prefWidth="1345.0" title="Production Oee">
        <xAxis>
          <NumberAxis fx:id="numberAxisy" animated="false" autoRanging="false" label="Hour" minorTickCount="10" minorTickLength="10.0" prefHeight="55.0" prefWidth="1265.0" side="BOTTOM" tickLabelGap="1.0" tickLength="15.0" tickUnit="1.0" upperBound="23.0">
               <tickLabelFont>
                  <Font size="15.0" />
               </tickLabelFont></NumberAxis>
        </xAxis>
        <yAxis>
          <NumberAxis fx:id="numberAxisx" animated="false" label="Percent" minorTickCount="10" minorTickLength="10.0" side="LEFT" tickLabelGap="10.0" tickLength="15.0" tickUnit="20.0">
               <tickLabelFont>
                  <Font size="15.0" />
               </tickLabelFont></NumberAxis>
        </yAxis>
      </LineChart>
   </children>
</AnchorPane>

共有1个答案

吕霖
2023-03-14

这是来自FXML文件的图表。

@FXML
private LineChart<Number, Number> lineChart;

....

在这里创建一个新的

    lineChart = new LineChart<Number, Number>..
 类似资料:
  • 问题内容: 在AngularJS中,如何在不进行2向数据绑定的情况下呈现值?出于性能方面的考虑,甚至可能在给定的时间点呈现值,可能要这样做。 以下示例均使用数据绑定: 我如何在 没有任何 数据绑定的 情况下 进行渲染? 问题答案: 角度1.3+ 在1.3中,Angular使用以下语法支持此功能。 正如在这个答案中提到的。 Angular 1.2以下 这很简单,不需要插件。看一下这个。 这个小指令可

  • 我正在尝试在表FORNMAT中显示数据。数据来自API。我需要显示表一旦数据接收从api。我正在使用类组件。下面我给出了尝试的东西。 //下面是我的jsx //下面是我从api获取数据的函数 //下面是我的api输出

  • 问题内容: 我在这里遇到了一些问题,我无法发出find_by_sql请求来呈现ActiveRecord关系。确实,我需要一个activerecord关系来提出新请求: 没有activerecord关系,我不能使用“ pluck”。因此,我想我必须将sql请求转换为Activerecord请求。但是,一旦我在ActiveRecord上使用“计数”,我就会遇到一个巨大的问题:最后,我没有ActiveR

  • 问题内容: 我试图让fullCalendar反映通过AJAX对数据库所做的更改。问题是在成功进行AJAX调用后,它不会更新屏幕上的日历。 我使用了错误的方法?无需重新加载整个页面的最佳方法是什么?感谢您的输入! 问题答案: 有几种方法。一些不太优雅。 1.如果您使用FullCalendar捕获json事件: 做就是了: 如果希望外部方法获取事件,则可以执行。不优雅但是可以用

  • 问题内容: 我有ng-table的页面,可以很好地处理初始数据。我有一个选择框,该框根据选择的选项发送服务器请求,然后Iam将新数据获取为angular,但未使用ng- table更新。 这是我的看法: 我的控制器: 问题答案: $scope.$watch(‘result’, function () { $scope.tableParams.settings().$scope = $scope;