Programımda bir javafx çizgi grafik var. Program her saniye 1-6 arasında bir rasgele değer üretir ve grafik üzerinde çizer. Böylece X ekseni saniye cinsinden zamanı temsil eder ve Y ekseni seçilen rastgele değeri temsil eder. Zaman geçtikçe grafiğin x ekseni üzerinde hareket ettirilmesine nasıl giderim? grafiğin doğru yönde ilerlemesi.JavaFX bir çizgi grafiğin Ekseni boyunca hareket ediyor
xAxis.setForceZeroInRange(false);
Ve belli koşul karşılandığında sonra serisinden veri 0 (ilk bir) endeksli kaldırın:
public class MainDisplayController implements Initializable {
LineChart<String,Number> lineChart;
Timer timer = new Timer();
TimerTask task;
Random dice = new Random();
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
XYChart.Series<String,Number> series = new XYChart.Series<String,Number>();
series.getData().add(new XYChart.Data<String,Number>("1",0));
lineChart.getData().add(series);
task = new TimerTask(){
int secondsPassed = 0;
@Override
public void run() {
secondsPassed++;
System.out.println(secondsPassed);
int number;
number = 1+dice.nextInt(6);
series.getData().add(new XYChart.Data<String,Number>(String.valueOf(secondsPassed),number));
}
};
timer.scheduleAtFixedRate(task, 1000, 1000);
}
}
teşekkürler ben tam ihtiyacımız olan şey: D –
Yani benim programa çözüm güçlendirme için denedim ama bunun bir String istediği değil bir şikayet, bana bu hata veriyor çalıştırmayı denediğinizde Tamsayı: İş parçacığı "JavaFX Uygulama iş parçacığı" özel durum java.lang.ClassCastException: java.lang.Integer java.lang.String için dönüştürülemiyor. –
Ben bir CategoryAxis için X ekseni değiştirmeye çalıştım ama yok ' t setForceZeroInRange() yöntemine sahip olmak için grafiğe ulaşamıyorum, –