JavaFX8如何在JavaFX折线图上配置节点对象

JavaFX8如何在JavaFX折线图上配置节点对象,java,charts,javafx,javafx-8,Java,Charts,Javafx,Javafx 8,我有一个移动折线图(数据每秒移动的活动图表,即下限和上限,以及显示该线的序列每秒更新)。每隔一分钟,我还会在图表上显示一个固定到特定x-y值的文本对象 每秒钟,整个图表都会更新,文本对象也会更新(文本对象每秒都会移动) 问题: 文本对象未超过下限 我正在创建文本对象,然后使用setNode()API将其添加到一个点,然后将此数据点设置为a并在其上设置样式 我无法找到处理此文本对象的方法。 代码: 创建文本对象并将其设置为XYChart.Data对象 Text moaLabel = new

我有一个移动折线图(数据每秒移动的活动图表,即下限和上限,以及显示该线的序列每秒更新)。每隔一分钟,我还会在图表上显示一个固定到特定x-y值的文本对象

每秒钟,整个图表都会更新,文本对象也会更新(文本对象每秒都会移动)

问题:

文本对象未超过下限

我正在创建文本对象,然后使用setNode()API将其添加到一个点,然后将此数据点设置为a并在其上设置样式

我无法找到处理此文本对象的方法。

代码: 创建文本对象并将其设置为XYChart.Data对象

Text moaLabel = new Text("MHRext\nUS1\nUnknown");

Data<Date, Integer> moaPlot = new Data<>();
moaPlot.setNode(moaLabel);
moaPlot.setXValue(xPosition);
moaPlot.setYValue(yPosition);
CSS


我找到了解决问题的办法

方法是检查moaPlot.getXValue()是否等于(lowerBound),然后将其从
textSeries
列表中删除

在我的例子中,由于图表每秒钟移动一次,我在每秒钟运行一次的调度程序中有以下代码

Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(()->{
    textSeries.getData().removeIf(moa -> (moa.getXValue().before(lowerBound))); 
}, 0, 1, TimeUnit.SECONDS);
.chart-series-line-text-mode {    
    -fx-stroke-width: 0px;
    -fx-stroke: #FFFFFF;    
    -fx-effect: null;
}
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(()->{
    textSeries.getData().removeIf(moa -> (moa.getXValue().before(lowerBound))); 
}, 0, 1, TimeUnit.SECONDS);