JavaFX Одна сущность NumberAxis для многих LineCharts - PullRequest
0 голосов
/ 05 ноября 2019

Я изучаю JavaFX, и я застрял с графиками. Задача следующая: у меня есть TabPane с 4 вкладками и с LineChart в каждой вкладке. Когда я закончил с первым графиком, я обнаружил, что IDE показывает, что я не могу использовать xAxis и yAxis, которые я создал для первого графика. Мне действительно нужно создавать для каждой LineChart отдельный NumberAxis?

Код:

public class Controller implements Initializable {
    @FXML
    private NumberAxis xAxis = new NumberAxis();
    @FXML
    private NumberAxis yAxis = new NumberAxis();
    @FXML
    private LineChart<Number, Number> exactChart, eulerChart, eulerImpChart, rungeKuttaChart; 

    @Override
     public void initialize(URL url, ResourceBundle resourceBundle) {
        xAxis.setLowerBound(x0);
        xAxis.setUpperBound(X);
        xAxis.setTickUnit(xScale);

        yAxis.setLowerBound(-2);
        yAxis.setUpperBound(2);
        yAxis.setTickUnit(yScale);
        plotExact();
   }
   //More code 
}

Файл FXML:

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

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

<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="720.0" prefWidth="1024.0" tabClosingPolicy="UNAVAILABLE" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.SecondStage">
  <tabs>
    <Tab text="Exact">
      <content>
        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
               <children>
                  <LineChart fx:id="exactChart" layoutY="7.0" prefHeight="676.0" prefWidth="1024.0">
                    <xAxis>
                      <NumberAxis fx:id="xAxis" side="BOTTOM" autoRanging="false"/>
                    </xAxis>
                    <yAxis>
                      <NumberAxis fx:id="yAxis" side="LEFT" autoRanging="false" />
                    </yAxis>
                  </LineChart>
               </children></AnchorPane>
      </content>
    </Tab>
    <Tab text="Euler">
      <content>
        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
          <children>
            <LineChart fx:id="eulerChart" layoutY="7.0" prefHeight="676.0" prefWidth="1024.0">
              <xAxis>
                <NumberAxis fx:id="xAxis" side="BOTTOM" autoRanging="false" />
              </xAxis>
              <yAxis>
                <NumberAxis fx:id="yAxis" side="LEFT" autoRanging="false" />
              </yAxis>
            </LineChart>
          </children></AnchorPane>
      </content>
    </Tab>
  </tabs>
</TabPane>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...