0
我有一個ListView,它具有定義的自定義CellFactory。如何在JavaFX中最有效地移動多個矩形
這些單元格行包含多個矩形,這些矩形表示商店營業時間,客戶時間等。然而,該甘特圖必須對水平滾動作出反應。每當水平條移動時,所有條都會重新定位。
問題是它很慢。
public class shopCellWorker extends ListCell<Shop> {
...
public ShopCellWorker(ScrollBar hbar, List<CustomerVisit> visits) {
this.hbar = hbar;
visits.forEach(v -> {
Rectangle r = new Rectangle();
... setup ...
rlist.add(r);
}
hbar.valueProperty().addListener(new UpdateListener());
}
private class UpdateListener implements ChangeListener {
@Override
public void changed(ObservableValue observable, Object oldValue, Object newValue) {
rlist.forEach(rec -> {
... do some simple math to determine the position ...
relocate(x, 3);
})
}
}
}
是否有一些技巧使渲染速度更快?
它是快速轉換一個矩形? – Calips