매우 유용하고 쉬운 방법으로 원형 차트를 업데이트하고 싶습니다. 예를 들면 :라이브 업데이트 원형 차트
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.chart.PieChart;
import javafx.scene.control.Label;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class MainApp extends Application {
@Override
public void start(Stage stage) {
Scene scene = new Scene(new Group());
stage.setTitle("Imported Fruits");
stage.setWidth(500);
stage.setHeight(500);
ObservableList<PieChart.Data> pieChartData =
FXCollections.observableArrayList(
new PieChart.Data("Grapefruit", 13),
new PieChart.Data("Oranges", 25),
new PieChart.Data("Plums", 10),
new PieChart.Data("Pears", 22),
new PieChart.Data("Apples", 30));
final PieChart chart = new PieChart(pieChartData);
chart.setTitle("Imported Fruits");
final Label caption = new Label("");
caption.setTextFill(Color.DARKORANGE);
caption.setStyle("-fx-font: 24 arial;");
for (final PieChart.Data data : chart.getData()) {
data.getNode().addEventHandler(MouseEvent.MOUSE_PRESSED,
new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent e) {
caption.setTranslateX(e.getSceneX());
caption.setTranslateY(e.getSceneY());
caption.setText(String.valueOf(data.getPieValue())
+ "%");
}
});
}
((Group) scene.getRoot()).getChildren().addAll(chart, caption);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
나는이 같은 차트 자바 메서드를 호출하고 업데이트 할 차트를 표시 할 때 다음을하기 위해 내가 코드를 편집 할 수있는 방법
PieChartUpdate(valueOne, valueTwo, valueThree);
당신이 저를 보여줄 수를 라이브 업데이트를보다 쉽게 사용할 수 있습니까?
지금까지 시도한 것과 시도한 문제는 무엇입니까? –
그 아이디어가 흥미 롭기 때문에 투표하는 것이지만 문제는 너무 숙제입니다. 대부분 차트에 새 값을 설정 한 다음 모든 것을 다시 레이아웃해야합니다. 하지만 JavaFX API에 대한 지식이 없습니다. – GGrec