gpt4 book ai didi

java - 对 XYSplineRenderer 的绘图进行动画处理

转载 作者:行者123 更新时间:2023-12-02 03:59:09 25 4
gpt4 key购买 nike

我想要为 XYSplineRenderer 的绘图添加动画。动画应该很流畅,将来我希望能够修改速度。但目前只要流畅的动画就可以了。

我正在阅读有关 SwingWorker 的内容以及 this thread ,但是我真的不知道如何使用XYSeries。我应该如何向 doInBackground 内的 series 添加点(它说 XYSeries 不可迭代)?

任何例子都会非常感激。

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {

public void run() {
GUI t = new GUI();
t.runCalc();
}
});
}


public void runCalc() {
TwoWorker task = new TwoWorker();
task.addPropertyChangeListener(new PropertyChangeListener() {
});
task.execute();
}

// UNDER CONSTRUCTION !!!
private class TwoWorker extends SwingWorker<Double, Double>
{
@Override
protected XYSeries doInBackground() throws Exception
{
for (int i = 0; i < solution.size(); i++)
{
series.add(solution.point(i).lat(),solution.point(i).lon());
Thread.sleep(1000);
}
return XYSeries;
}
}

附注solution 只是由纬度和经度定义的点的集合。基于此,构建了XYSplineRenderer

最佳答案

始终更新 event dispatch thread 上的 Swing 组件和模型,例如 ChartPanelXYSeries 。您的示例在后台调用 series.add(),而 @trashgod 的 example在后台调用publish()。发布的结果在 process() 中处理,它在事件调度线程上运行。

从这个开始example并将其更改为如图 here看看它是如何工作的。

关于java - 对 XYSplineRenderer 的绘图进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35091820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com