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