0
我很困惑。通過廣泛的測試,我可以確認,如果我將對象比y更快地添加到連接到JList的DefaultListModel,JList消失。JLists有沒有速度限制?
下面是我在做什麼:
JPanel pane = new JPanel(new BorderLayout());
JList<LogMessage> messageList = new JList<LogMessage>(dataModel.getMessageList());
pane.add(messageList , BorderLayout.CENTER);
//add pane to JFrame etc.
初始化GUI之後,我加100個日誌消息到DefaultListModel。奇怪的是,一切工作,如果我做Thread.sleep(10); 100個新LogMessage之間。如果我不這樣 - JList消失。
我試圖導出爲可運行的jar並運行它 - 問題沒有了。我仍然需要能夠從eclipse運行我的程序。
這可能是什麼原因造成的?
你在Swing事件線程加入到'ListModel'? – 2013-04-23 19:59:40
史蒂夫:不,我在啓動時做所有事情。 – Emiam 2013-04-23 20:01:46
這很可能是您的問題。看看'SwingUtilities.invokeLater' http://docs.oracle.com/javase/6/docs/api/javax/swing/SwingUtilities.html#invokeLater(java.lang.Runnable) – 2013-04-23 20:04:53