JavaFXで折れ線グラフを作成中です。現在のところすべて問題なく、データベース ストアド プロシージャから必要なデータを使用してチャートを正常に作成できます。とにかく、可能であれば、LineChart のすべてのデータ ポイントに、特定のポイントの背後にある値を示すマウス ホバー イベント (£150,000 など) を設定する必要があります。ホバー時に % 値を表示する PieCharts でこれが行われた例を見たことがありますが、LineCharts の例はどこにも見つかりません。これを行うことはできますか?
可能であれば、誰かが私を正しい方向に向けることができますか?
これまでのコード:
private static final String MINIMIZED = "MINIMIZED";
private static final String MAXIMIZED = "MAXIMIZED";
private static String chartState = MINIMIZED;
// 12 Month Sales Chart
XYChart.Series<String, Number> series = new XYChart.Series<>();
XYChart.Series<String, Number> series2 = new XYChart.Series<>();
public void getDeltaData() {
try {
Connection con = DriverManager.getConnection(connectionUrl);
//Get all records from table
String SQL = "";
Statement stmt = con.createStatement();
//Create the result set from query execution.
ResultSet rs = stmt.executeQuery(SQL);
while (rs.next()) {
series.getData().add(new XYChart.Data<String, Number>(rs.getString(1),
Double.parseDouble(rs.getString(7))));
series2.getData().add(new XYChart.Data<String, Number>(rs.getString(1),
Double.parseDouble(rs.getString(8))));
}
rs.close();
stmt.close();
} catch (Exception e) {
}
yearChart = createChart();
}
protected LineChart<String, Number> createChart() {
final CategoryAxis xAxis = new CategoryAxis();
final NumberAxis yAxis = new NumberAxis();
// setup chart
series.setName("Target");
series2.setName("Actual");
xAxis.setLabel("Period");
yAxis.setLabel("£");
yearChart.getData().add(series);
yearChart.getData().add(series2);
yearChart.setCreateSymbols(false);
return yearChart;
}
jewelsea が提供する回答は、この問題に対する完璧な解決策です。
ありがとう、ジュエルシー。