1 19 package org.lucane.applications.forum.gui; 20 21 import java.util.ArrayList ; 22 23 import javax.swing.event.ListSelectionEvent ; 24 import javax.swing.event.ListSelectionListener ; 25 26 import org.lucane.applications.forum.ForumPlugin; 27 import org.lucane.applications.forum.model.ForumInfo; 28 import org.lucane.client.widgets.DialogBox; 29 30 public class ForumSelectionListener implements ListSelectionListener 31 { 32 private MainWindow ui; 33 private ForumPlugin plugin; 34 private ForumInfo lastSelection = null; 35 36 public ForumSelectionListener(ForumPlugin plugin, MainWindow ui) 37 { 38 this.plugin = plugin; 39 this.ui = ui; 40 } 41 42 public void valueChanged(ListSelectionEvent lse) 43 { 44 ForumInfo forum = ui.getForumList().getSelectedForum(); 45 if(forum.equals(lastSelection)) 46 return; 47 48 lastSelection = forum; 49 ui.refreshButtons(forum); 50 51 if(forum != null) 52 { 53 try { 54 ArrayList messages = plugin.getMessageList(forum); 55 ui.getMessages().setCellRenderer(new MessageRenderer(plugin, forum.getName())); 56 ui.updateMessages(messages); 57 plugin.updateLastRefreshTime(forum.getName()); 58 } catch (Exception e) { 59 DialogBox.error(plugin.tr("err.unableToGetMessages") + e); 60 e.printStackTrace(); 61 } 62 } 63 } 64 } | Popular Tags |