我设法收集了一个代码,该代码允许我在 Jfreechart 上选择一个点并在 JavaFX TableView 上选择相应的点并选择一个或多个点。然而,这是一种或另一种情况。我想要的是能够听到 CTL 键,这样用户只有在 CLT 键按下并点击时才能选择多个点。所以我的问题是我可以在哪里以及如何放置关键听众。
XYDataset dataset = createXYDataSet(fieldname1,fieldname2);
ChartViewer plotframe = new ChartViewer(createXYChart(dataset, fieldname1,fieldname2));
plotframe.addChartMouseListener(new ChartMouseListenerFX(){
public void chartMouseClicked(ChartMouseEventFX chartmouseevent) {
int datapoint;
selectionmodel.setSelectionMode(SelectionMode.MULTIPLE);
try {
XYItemEntity ce = (XYItemEntity) chartmouseevent.getEntity();
datapoint = ce.getItem();
datatable.requestFocus();
datatable.getSelectionModel().select(datapoint);
datatable.getFocusModel().focus(datapoint);
datatable.scrollTo(datapoint);
}catch (Exception e){
}
}
public void chartMouseMoved(ChartMouseEventFX chartmouseevent) {
}
}
});