[英]Periodically Refresh Items in JList (Java SWING)
我正在尝试编写一些Java代码以显示在线获得的问题列表。 我有一个名为getQuestions的工作方法,该方法从服务器中提取并从中构建问题对象。 我现在想要一个JList,它将每隔几秒钟自动刷新一次,以更新所有问题。 如果我不在循环内运行updateQuestions,则可以正常工作,但是一旦将其放入循环,列表始终显示为空白。
我有一个名为updateQuestions()的方法,该方法获取问题的新数组列表,然后将其设置为JList。 如果我运行一次,它将正常工作。 但是,当我将其放在我的主目录中时:
listModel=new DefaultListModel();
questionList = new JList(listModel);
questionFeedFrame.add(questionList);
questionFeedFrame.pack();
questionFeedFrame.setVisible(true);
while(true){
try{
updateQuestions(id);
Thread.sleep(10000);
}catch (Exception ee){
ee.printStackTrace();
}
}
public static void updateQuestions(int id){
listModel = (DefaultListModel) questionList.getModel();
listModel.removeAllElements();
ArrayList<Question> questions = getQuestions(id);
for(Question q : questions){
listModel.addElement(q.getQuestion());
}
}
我已经尝试了很多方法,包括重新粉刷/验证所有内容。 有什么建议么? 有一个更好的方法吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.