关于java swing窗体JPanel添加组件性能问题

private List list = new LinkedList<>();

ConfigurableListableBeanFactory beanFactory = StartApplicationFactory.getContext().getBeanFactory();
        QqService service = beanFactory.getBean(QqService.class);
        service.searchRecommend(new BaseRecommendResultTemplate() {
				//下面这个callBack方法是封装了Okhttp的回调方法
            @Override
            public void callBack(RecommendResult recommendResultDataRecommendResult, Exception exception) {
                list = recommendResultDataRecommendResult
                        .getRecomPlaylist()
                        .getData()
                        .getV_hot();
            }
        });

        timer = new Timer(100, new Times());
        timer.start();

class Times extends AbstractAction {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (list.size() > 0) {
                list.stream().limit(10).forEach(bean -> SwingUtilities.invokeLater(() -> {
                    CustomizeJavaImagePanel javaImagePanel = new CustomizeJavaImagePanel(bean.getCover()
                            , bean.getTitle(), 200, 200, 60);
                    javaImagePanel.initUi();
										//重点在这,这下面这两行,添加面板和刷新,怎么能这么慢呢?
                    recommendPanel.add(javaImagePanel);
                    recommendPanel.revalidate();
                }));
                timer.stop();
            }
        }
    }

关于java swing窗体JPanel添加组件性能问题_第1张图片
看不了代码的可以看截图,上面两个是swing原生方法没有重写为啥加载要么慢?CustomizeJavaImagePanel是继承了JPanel,里面图片加在是用了JLabel的网络式加载,为啥这么慢?????

下面是运行好的截图和刚运行的截图,中间等待过程差不多有1-2秒的时间
关于java swing窗体JPanel添加组件性能问题_第2张图片
关于java swing窗体JPanel添加组件性能问题_第3张图片

不用找了原因出在加载网络图片,加载图片不慢,但是加载网络图片慢

你可能感兴趣的:(java)