Я изучаю 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>