JavaFX 8 SceneBuilder LineChart 数据类型

标签 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

如果我改为在代码中创建图表,效果很好:

val chart = new LineChart[Number, Number]( new NumberAxis(), new NumberAxis())

我在 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>

编辑它以更改行:

<CategoryAxis fx:id="xAxis" side="BOTTOM" />

到:

<NumberAxis fx:id="xAxis" side="BOTTOM" />

图表将在 SceneBuilder 中自动重新加载(因为它会监视对 FXML 文件的编辑)以包含两个数字轴,而不是 NumberAxis 和 CategoryAxis。

关于JavaFX 8 SceneBuilder LineChart 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24375047/

相关文章:

java - 证书更新后"SSLHandshakeException: Error signing certificate verify"

java - 普林斯顿大学算法类(class)二叉堆程序中可比接口(interface)(Java)的实现

java - 使所有元素(包括 2 个 ListView )在 JavaFX 中一起滚动

java - 尝试使用媒体播放器时应用程序构造函数中出现异常

maven - mockito 和 powermockito 的正确版本与 testng 和 java8 一起运行

java - Java 8 CompletableFuture中的默认值超时

java - 在 Castor OQL 中筛选当前日期

java - 如何在循环绘制每个形状后刷新javaFX组?

java - Kotlin 中 getOrElseReturn 的可能性

Java流的处理顺序