Java 在jpanel中快速添加大量jlabel
嗨,我正在使用JavaSwing制作JavaGUI应用程序,从mysql获取数据,然后将每一行放入JLabel,并将其添加到特定的Jpanel中 我的问题是,当我获取的行数超过4k时,应用程序需要0.3分钟才能完成上述过程,并且时间会随着行数的增加而增加 我从mysql计算了延迟,每60k行延迟20.26秒,当我计算应用程序时,同样数量的行延迟几乎为2.5分钟Java 在jpanel中快速添加大量jlabel,java,mysql,swing,user-interface,Java,Mysql,Swing,User Interface,嗨,我正在使用JavaSwing制作JavaGUI应用程序,从mysql获取数据,然后将每一行放入JLabel,并将其添加到特定的Jpanel中 我的问题是,当我获取的行数超过4k时,应用程序需要0.3分钟才能完成上述过程,并且时间会随着行数的增加而增加 我从mysql计算了延迟,每60k行延迟20.26秒,当我计算应用程序时,同样数量的行延迟几乎为2.5分钟 因此,我的问题是,是否有任何东西可以加速我的应用程序(mysql、java)。对象创建是一个昂贵的过程。我建议不要为从数据库中获取的每个
因此,我的问题是,是否有任何东西可以加速我的应用程序(mysql、java)。对象创建是一个昂贵的过程。我建议不要为从数据库中获取的每个字段创建单独的标签。您选择不使用JTable/TableModel有什么原因吗?这似乎是表示数据库中数据表的最佳工具。有很多关于如何在web上使用JTable的例子,所以我在这里不进行描述 作为确定JLabel创建是否导致您的问题的实验,请为每行创建一个标签,而不是为每个字段创建一个JLabel,然后看看这能改善多少情况 我也赞同mKorbel的建议,如果需要立即响应,可以批量处理。这允许您在查询和显示其余可用信息时向用户提供一些即时数据 如果用户在做出决策或得出所需结论之前不需要所有信息(即,首先解决导致他们查询的问题),那么这对大型数据集非常有用。如果是这种情况,最好使用忙碌指示器
祝你好运 对象创建是一个昂贵的过程。我建议不要为从数据库中获取的每个字段创建单独的标签。您选择不使用JTable/TableModel有什么原因吗?这似乎是表示数据库中数据表的最佳工具。有很多关于如何在web上使用JTable的例子,所以我在这里不进行描述 作为确定JLabel创建是否导致您的问题的实验,请为每行创建一个标签,而不是为每个字段创建一个JLabel,然后看看这能改善多少情况 我也赞同mKorbel的建议,如果需要立即响应,可以批量处理。这允许您在查询和显示其余可用信息时向用户提供一些即时数据 如果用户在做出决策或得出所需结论之前不需要所有信息(即,首先解决导致他们查询的问题),那么这对大型数据集非常有用。如果是这种情况,最好使用忙碌指示器 祝你好运 从mysql获取数据,然后将每一行放入JLabel并添加 这对某些Jpanel来说是一个挑战
- 使用
,搜索JTable
,resultsetablemodel
TableFromDatabase
超越了人类在标准工作时间使用大量数据的能力4k
- 创建一个批处理逻辑,从
运行SwingWorker
,ResultSet
每隔publish()
100行到
,ResultSetTableModel
,然后用户可以立即看到前100行,其余行是从Swing worker管理的工作线程添加的TableFromDatabase
- 可以轻松、简单地将一个大型查询拆分为一组查询,创建带分页的SQL查询
- 使用
,搜索JTable
,resultsetablemodel
TableFromDatabase
超越了人类在标准工作时间使用大量数据的能力4k
- 创建一个批处理逻辑,从
运行SwingWorker
,ResultSet
每隔publish()
100行到
,ResultSetTableModel
,然后用户可以立即看到前100行,其余行是从Swing worker管理的工作线程添加的TableFromDatabase
- 可以轻松、简单地将一个大型查询拆分为一组查询,创建带分页的SQL查询