1 package org.columba.mail.gui.composer.contact; 19 20 import java.awt.Component ; 21 import java.util.Iterator ; 22 23 import javax.swing.DefaultListCellRenderer ; 24 import javax.swing.JComboBox ; 25 import javax.swing.JList ; 26 27 import org.columba.addressbook.facade.IFolderFacade; 28 29 import org.columba.addressbook.facade.IFolder; 30 import org.columba.api.exception.ServiceNotFoundException; 31 import org.columba.mail.connector.ServiceConnector; 32 33 public class FolderComboBox extends JComboBox { 34 35 public FolderComboBox(boolean showRootFolders) { 36 super(); 37 38 IFolderFacade folderFacade = null; 39 try { 40 folderFacade = ServiceConnector.getFolderFacade(); 41 Iterator <IFolder> it = folderFacade.getAllFolders() 42 .listIterator(); 43 44 while (it.hasNext()) { 45 IFolder folder = it.next(); 46 if (!showRootFolders) { 47 addItem(folder); 49 } 50 } 51 52 } catch (ServiceNotFoundException e) { 53 e.printStackTrace(); 54 } 55 56 setRenderer(new MyListCellRenderer()); 57 } 58 59 class MyListCellRenderer extends DefaultListCellRenderer { 60 61 MyListCellRenderer() { 62 63 } 64 65 69 @Override 70 public Component getListCellRendererComponent(JList list, Object value, 71 int index, boolean isSelected, boolean cellHasFocus) { 72 73 super.getListCellRendererComponent(list, value, index, isSelected, 74 cellHasFocus); 75 76 IFolder folder = (IFolder) value; 77 78 setText(folder.getName()); 79 setIcon(folder.getIcon()); 80 81 return this; 82 } 83 84 } 85 } 86 | Popular Tags |