回答編集履歴
2
誤記訂正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
ScatterChart上でプロットされるデータの点はXYChart.Dataクラスで表されますが、XYChar.Dataクラスには画面上へその
|
1
|
+
ScatterChart上でプロットされるデータの点はXYChart.Dataクラスで表されますが、XYChar.Dataクラスには画面上へその点を表現するためのnodeプロパティーが用意されています。これはNodeクラスの派生クラスなのでsetOnMouseClickedでマウスクリックイベントを設定できます。
|
2
2
|
|
3
3
|
たとえばチャートに表示するデータ列(XYChar.Series)を生成するときに次のようにするとマウスクリックイベントを設定できると思います。
|
4
4
|
|
@@ -35,7 +35,7 @@
|
|
35
35
|
|
36
36
|
訂正:
|
37
37
|
上の回答に「いつそのNodeが追加されるかわからないので」と書きましたが、ご質問にあるページのサンプルを見るとstartメソッドでnodeプロパティーにtooltipをインストールするコードが書いてありますね・・・
|
38
|
-
実際にやってみるとチャートへデータ系列をsetDataするとき
|
38
|
+
実際にやってみるとチャートへデータ系列をsetDataするときにNodeが追加されるみたいです。自分の回答の方法でも動きはしますが、わざわざChangeListenerを使わなくてもよさそうです。
|
39
39
|
チャートへデータ列を設定した後でデータ列を走査してハンドラーを登録すればいいんですね。以下はサンプルコードの抜粋ですがtooptipのかわりにマウスクリックイベントのハンドラーを登録する例です。
|
40
40
|
|
41
41
|
```
|
1
訂正
answer
CHANGED
@@ -29,4 +29,20 @@
|
|
29
29
|
...
|
30
30
|
}
|
31
31
|
}
|
32
|
+
```
|
33
|
+
|
34
|
+
---
|
35
|
+
|
36
|
+
訂正:
|
37
|
+
上の回答に「いつそのNodeが追加されるかわからないので」と書きましたが、ご質問にあるページのサンプルを見るとstartメソッドでnodeプロパティーにtooltipをインストールするコードが書いてありますね・・・
|
38
|
+
実際にやってみるとチャートへデータ系列をsetDataするときのNodeが追加されるみたいです。自分の回答の方法でも動きはしますが、わざわざChangeListenerを使わなくてもよさそうです。
|
39
|
+
チャートへデータ列を設定した後でデータ列を走査してハンドラーを登録すればいいんですね。以下はサンプルコードの抜粋ですがtooptipのかわりにマウスクリックイベントのハンドラーを登録する例です。
|
40
|
+
|
41
|
+
```
|
42
|
+
//質問にあるページのサンプルコードの抜粋
|
43
|
+
scatterData.stream().forEach((series) -> {
|
44
|
+
series.getData().stream().forEach(point -> {
|
45
|
+
point.getNode().setOnClicked(this::onChartDataClicked);
|
46
|
+
});
|
47
|
+
});
|
32
48
|
```
|