【发布时间】:2011-10-22 12:34:48
【问题描述】:
我正在开发一个 java 应用程序,它将以图形方式描述和组织数百个对象。这些对象中的每一个都是从 SQL 数据库中加载的,以便在此程序中使用。
我计划保留所有数据的本地副本,通过JDBC 连接检索,然后在本地对其进行排序(可能使用Merge Sort,因为这是我的最爱)
你会建议我如何在本地存储数据?理想情况下,它会很容易遍历、排序和与源数据库进行比较。
目前,我有一个名为 Ideas 的对象,这些对象是从数据库中填充的。然后,为了显示它们,我创建了相同数量的IdeaGraphics 对象并将它们添加到适当的 JPanel 中。这有时会很慢。
【问题讨论】:
-
如何在本地存储它们(我假设你的意思是在内存中)主要取决于你如何访问它们。如果您将在某些空间的不同区域访问几何/空间对象,那么四叉树可能是合适的。如果您通过某个键访问对象,则地图/字典更适合等等。如果您需要在显示大量图形对象时具有可扩展性,您可能希望自己将它们绘制到面板上,而不是创建大量控件。跨度>
-
我确实想以图形方式表示它们,但我需要能够单独单击每一个。我是否只需要进行像素数学来确定点击了哪一个?
-
是的,正如建议的那样,您将只有一个自定义面板来绘制您的对象。当用户点击时,您可以计算出点击了哪个对象。
标签: java algorithm swing object performance