希望有人可以帮助我。 我必须开发一个用于排序算法的项目,并且必须开发一个使用接口的应用程序,以便在控制台,ListView和这个“Bargraph”(BarChart的子类)上更新排序列表。
该项目有以下几个类:
GUI.class(GUI + Controller)
Sorting.class(填充数组和排序算法)
Display.class(Interface - > update(...))
Console.class(显示到控制台)
Listbox.class(带有更新(...)的扩展ListView)
Bargraph.class(带有更新的扩展BarChart(...))
项目完全有效,我唯一的问题是当我从Sorting.class中的相应方法“swap”调用方法update(...)时。
对于具有许多交换的最坏情况冒泡排序,显示屏仅显示开始和结束。直到最后才重新绘制BarChart。
有没有办法通过使用实现来实现它,还是我必须更改更多?
非常感谢提前! :)
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
/**
*
* Beschreibung
*
* @version 1.0 vom 13.01.2018
* @author
*/
public class Bargraph extends BarChart implements Display {
private int[] numlist;
public Bargraph(CategoryAxis xAxis, NumberAxis yAxis)
{
super(xAxis, yAxis);
}
private void delay() {
try {
Thread.sleep(200);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
public void update(int[] numlist) {
this.numlist=numlist;
XYChart.Series data = new XYChart.Series();
this.getData().clear();
for (int i = 0; i < numlist.length; i++ ) {
XYChart.Data column = new XYChart.Data<>(String.valueOf(i), numlist[i]);
data.getData().add(column);
}
this.getData().addAll(data);
}
}