gpt4 book ai didi

java - 持有资料 list

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:37:00 26 4
gpt4 key购买 nike

我每 400 毫秒从网络接收一次 float 据,我将这些数据放入 4 个 float 组中。我将这些数组存储在另一个数组中,所以我有:

float[][] datas = {data1, data2, data3, data4};
FloatData floatData = new FloatData(datas);
model.addFloatData(floatData);

我的模型有一个 FloatData 对象列表,FloatData 对象有方法:

float[] getFloatData(int index);

返回我想要的 float 组。该数组用于在 JPanel 上绘制。所以在 painComponent 中我做了以下事情:

for(FloatData floatData : listOfFloatData) {
floatData.draw(g, index);
}

我的问题是我可以为 listOfFloatData 使用什么样的列表,因为它将每 400 毫秒更新一次并在 paintComponent 方法中读取?另外,我想知道一种将 listOfFloatData 从模型传递到我的 View 的便捷方法吗?我正在考虑使用一个包含 listOfFloatData 的单例对象,因为这个列表将用于多个组件?谢谢。

最佳答案

通过将数据存储在 AbstractTableModel 的子类中,将模型与 View 分离. flyweight patternJTable 使用渲染效率更高,您可以根据分析保证修改您的模型。

附录:如果您在另一个线程上收集数据,例如使用SwingWorker ,您可以以非常低的延迟publish() 数据,而您的process() 实现会在Event Dispatch Thread 上更新模型。有一个例子 here .

关于java - 持有资料 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849728/

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