Spa*_*key 1 java javafx java-8 scenebuilder
看起来当我在SceneBuilder中创建一个LineChart时,它默认为"String".那就是:LineChart<String, String>.
当我在代码中加载它然后尝试添加一些我得到的数据:
Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
Run Code Online (Sandbox Code Playgroud)
如果我在代码中创建图表,它工作正常:
val chart = new LineChart[Number, Number]( new NumberAxis(), new NumberAxis())
Run Code Online (Sandbox Code Playgroud)
我没有在SceneBuilder中看到任何允许我选择"数字"作为图表数据类型的选项.
我在这里错过了什么?
只需在文本编辑器中编辑SceneBuilder生成的FXML,例如,如果在SceneBuilder 2中创建新的LineChart,它将生成以下FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.chart.*?>
<LineChart xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:id="xychart">
<xAxis>
<CategoryAxis fx:id="xAxis" side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis fx:id="yAxis" side="LEFT" />
</yAxis>
</LineChart>
Run Code Online (Sandbox Code Playgroud)
编辑它以更改行:
<CategoryAxis fx:id="xAxis" side="BOTTOM" />
Run Code Online (Sandbox Code Playgroud)
至:
<NumberAxis fx:id="xAxis" side="BOTTOM" />
Run Code Online (Sandbox Code Playgroud)
该图表将自动在SceneBuilder中重新加载(因为它监视对FXML文件的编辑)以包括两个数字轴而不是NumberAxis和CategoryAxis.
| 归档时间: |
|
| 查看次数: |
4164 次 |
| 最近记录: |