Java JList未在JFrame中显示

时间:2014-03-04 18:17:31

标签: java swing jlist

我的解析器中有一些错误,它使用DefaultListModel解析网站并在JList中设置15个元素。此外,我添加了计时器,刷新一段时间,清除此模型,再次填充,然后刷新所有帧。所以bug就是这样,我的列表显示为随机刷新标记:模型仍然填充但列表未显示在框架(System.out.println(list.isVisible())显示为TRUE,打印模型我得到所有15个项目。 / p>

一些代码: 这是在帧类声明中。

private static DefaultListModel<String> listModel = new DefaultListModel<>();
private static JList<String> list = new JList<>(listModel);

public static void execute() {
    //some code
    startTimer(activeProfile.getRefreshDelay() * 6000, activeProfile.getRefreshDelay() * 6000);
    show();
}

public static void fillEpisodes() {
    int i = 0;
    for (String entry : Episodes.getList()) {
        listModel.add(i, entry);
        i++;
    }
}

TimerController类:

 public class TimerController extends TimerTask{

    @Override
    public void run() {
        MainFrame.getListModel().clear();
        MainFrame.fillEpisodes();
        for(int i=0;i<MainFrame.getListModel().size();i++){
            System.out.println(MainFrame.getListModel().getElementAt(i));
        }
        MainFrame.show();
    }
}

同样,我想提一下,在第一次启动时,我的框架显示完美,因为它甚至在第一次计时器处理之后。但经过第二次计时器处理后,我的列表包含0,15,0,15项。我试图重新绘制列表,重置模型,重新绘制框架 - 没有反应。

0 个答案:

没有答案