Example usage for com.jgoodies.forms.factories Borders createEmptyBorder

List of usage examples for com.jgoodies.forms.factories Borders createEmptyBorder

Introduction

In this page you can find the example usage for com.jgoodies.forms.factories Borders createEmptyBorder.

Prototype

public static Border createEmptyBorder(String encodedSizes) 

Source Link

Document

Creates and returns a Border using sizes as specified by the given string.

Usage

From source file:se.streamsource.streamflow.client.ui.administration.policy.AdministratorsView.java

License:Apache License

public AdministratorsView(@Service ApplicationContext context, @Uses AdministratorsModel model) {
    super(new BorderLayout());
    this.model = model;

    setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    usersAndGroupsModel = model.newUsersAndGroupsModel();

    setActionMap(context.getActionMap(this));

    administratorList = new JList(new EventListModel<LinkValue>(model.getList()));

    administratorList.setCellRenderer(new LinkListCellRenderer() {

        @Override/*w  w  w.j  av a  2  s. com*/
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
                boolean cellHasFocus) {
            if (value instanceof LinkValue) {
                Component component = super.getListCellRendererComponent(list, value, index, isSelected,
                        cellHasFocus);
                component.setEnabled(!"inherited".equals(((LinkValue) value).rel().get()));
                return component;
            } else
                return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
        }
    });

    administratorList.getSelectionModel()
            .addListSelectionListener(new SelectionActionEnabler(getActionMap().get("remove")) {

                @Override
                public boolean isSelectedValueValid(javax.swing.Action action) {
                    return !"inherited".equals(((LinkValue) administratorList.getSelectedValue()).rel().get()); //To change body of overridden methods use File | Settings | File Templates.
                }
            });
    add(new JScrollPane(administratorList), BorderLayout.CENTER);

    JPanel toolbar = new JPanel();
    toolbar.add(new StreamflowButton(getActionMap().get("add")));
    toolbar.add(new StreamflowButton(getActionMap().get("remove")));
    add(toolbar, BorderLayout.SOUTH);

    new RefreshWhenShowing(this, model);
}

From source file:se.streamsource.streamflow.client.ui.administration.projects.MembersView.java

License:Apache License

public MembersView(@Service ApplicationContext context, @Uses final MembersModel model) {
    super(new BorderLayout());
    this.membersModel = model;
    setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    usersAndGroupsModel = membersModel.newUsersAndGroupsModel();
    setActionMap(context.getActionMap(this));

    membersList = new JXList(new EventListModel<LinkValue>(membersModel.getList()));

    membersList.setCellRenderer(new LinkListCellRenderer());

    add(new JScrollPane(membersList), BorderLayout.CENTER);

    JPanel toolbar = new JPanel();
    toolbar.add(new StreamflowButton(getActionMap().get("add")));
    toolbar.add(new StreamflowButton(getActionMap().get("remove")));
    add(toolbar, BorderLayout.SOUTH);
    membersList.getSelectionModel()//  ww w .  j  a va 2s.  c o  m
            .addListSelectionListener(new SelectionActionEnabler(getActionMap().get("remove")));

    new RefreshWhenShowing(this, membersModel);
}

From source file:se.streamsource.streamflow.client.ui.administration.projectsettings.RecipientsView.java

License:Apache License

public RecipientsView(@Service ApplicationContext context, @Uses final RecipientsModel model) {
    super(new BorderLayout());
    this.model = model;

    setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    setActionMap(context.getActionMap(this));

    recipientsList = new JXList(new EventListModel<LinkValue>(model.getList()));

    recipientsList.setCellRenderer(new LinkListCellRenderer());

    add(new JScrollPane(recipientsList), BorderLayout.CENTER);

    JPanel toolbar = new JPanel();
    toolbar.add(new StreamflowButton(getActionMap().get("add")));
    toolbar.add(new StreamflowButton(getActionMap().get("remove")));
    add(toolbar, BorderLayout.SOUTH);
    recipientsList.getSelectionModel()//from  w w  w  .j  a v a  2  s .  c  o m
            .addListSelectionListener(new SelectionActionEnabler(getActionMap().get("remove")));

    new RefreshWhenShowing(this, model);
}

From source file:se.streamsource.streamflow.client.ui.administration.resolutions.ResolutionsView.java

License:Apache License

public ResolutionsView(@Service ApplicationContext context, @Uses final ResolutionsModel model) {
    super(new BorderLayout());
    this.model = model;
    setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    ActionMap am = context.getActionMap(this);
    setActionMap(am);//from w w  w  . j  av a2 s .c  o  m

    JPopupMenu options = new JPopupMenu();
    options.add(am.get("rename"));
    options.add(am.get("showUsages"));
    options.add(am.get("remove"));

    JScrollPane scrollPane = new JScrollPane();
    EventList<LinkValue> itemValueEventList = model.getList();
    list = new JList(new EventListModel<LinkValue>(itemValueEventList));
    list.setCellRenderer(new LinkListCellRenderer());
    scrollPane.setViewportView(list);
    add(scrollPane, BorderLayout.CENTER);

    JPanel toolbar = new JPanel();
    toolbar.add(new StreamflowButton(am.get("add")));
    toolbar.add(new StreamflowButton(new OptionsAction(options)));
    add(toolbar, BorderLayout.SOUTH);

    list.getSelectionModel().addListSelectionListener(
            new SelectionActionEnabler(am.get("remove"), am.get("rename"), am.get("showUsages")));

    new RefreshWhenShowing(this, model);

}

From source file:se.streamsource.streamflow.client.ui.administration.resolutions.SelectedResolutionsView.java

License:Apache License

public SelectedResolutionsView(@Service ApplicationContext context,
        @Uses final SelectedResolutionsModel model) {
    super(new BorderLayout());
    this.model = model;
    setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    ActionMap am = context.getActionMap(this);
    setActionMap(am);//from  w w  w  .ja  v  a 2  s  .  c  o  m

    list = new JList(new EventListModel<LinkValue>(model.getList()));

    list.setCellRenderer(new LinkListCellRenderer());

    add(new JScrollPane(list), BorderLayout.CENTER);

    JPanel toolbar = new JPanel();
    toolbar.add(new StreamflowButton(am.get("add")));
    toolbar.add(new StreamflowButton(am.get("remove")));
    add(toolbar, BorderLayout.SOUTH);
    list.getSelectionModel().addListSelectionListener(new SelectionActionEnabler(am.get("remove")));

    new RefreshWhenShowing(this, model);
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.contacts.ContactsView.java

License:Apache License

public ContactsView(@Service ApplicationContext context, @Uses ContactsModel model) {
    super(new BorderLayout());

    this.model = model;

    ActionMap am = context.getActionMap(this);
    setActionMap(am);// w ww  .  ja  v a2 s  . c  om
    setPreferredSize(new Dimension(200, 0));

    this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    contacts = new JList(new EventListModel<ContactDTO>(model.getEventList()));
    contacts.setPreferredSize(new Dimension(200, 1000));
    contacts.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    JScrollPane contactsScrollPane = new JScrollPane();
    contactsScrollPane.setViewportView(contacts);
    contacts.setCellRenderer(new DefaultListCellRenderer() {

        @Override
        public Component getListCellRendererComponent(JList jList, Object o, int i, boolean b, boolean b1) {
            ContactDTO contact = (ContactDTO) o;
            if ("".equals(contact.name().get())) {
                Component cell = super.getListCellRendererComponent(jList,
                        i18n.text(WorkspaceResources.name_label), i, b, b1);
                cell.setForeground(Color.GRAY);
                return cell;
            }

            String text = contact.name().get();

            return super.getListCellRendererComponent(jList, text, i, b, b1);
        }
    });
    add(contactsScrollPane, BorderLayout.CENTER);

    JPanel toolbar = new JPanel();
    toolbar.add(new StreamflowButton(am.get("add")));
    toolbar.add(new StreamflowButton(am.get("remove")));
    add(toolbar, BorderLayout.SOUTH);

    model.addObserver(new RefreshComponents().visibleOn("add", toolbar));

    contacts.getSelectionModel().addListSelectionListener(new SelectionActionEnabler(am.get("remove")));

    /*
          setFocusTraversalPolicy( new LayoutFocusTraversalPolicy() );
          setFocusCycleRoot( true );
          setFocusable( true );
          addFocusListener( new FocusListener()
          {
             public void focusGained( FocusEvent e )
             {
    Component defaultComp = getFocusTraversalPolicy().getDefaultComponent( contactView );
    if (defaultComp != null)
    {
       defaultComp.requestFocusInWindow();
    }
             }
            
             public void focusLost( FocusEvent e )
             {
             }
          } );
    */

    new RefreshWhenShowing(this, this);
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.contacts.ContactView.java

License:Apache License

public ContactView(@Service ApplicationContext appContext, @Structure Module module) {
    setLayout(layout);// w ww. j a  va2s .  co m

    context = appContext;
    setActionMap(context.getActionMap(this));

    add(new JLabel(), "EMPTY");

    DefaultComboBoxModel contactPreferenceModel = new DefaultComboBoxModel();
    for (ContactPreference preference : ContactPreference.values()) {
        contactPreferenceModel.addElement(preference);
    }
    contactPreferenceField.setModel(contactPreferenceModel);
    contactPreferenceField.setSelectedIndex(0);
    contactPreferenceField.setRenderer(new ListCellRenderer() {
        public Component getListCellRendererComponent(JList jList, Object o, int i, boolean b, boolean b1) {
            JLabel comp = new JLabel("null");
            if (o instanceof ContactPreference) {
                if (((ContactPreference) o) == ContactPreference.none) {
                    comp = new JLabel(" ");
                } else {
                    comp = new JLabel(i18n.text(WorkspaceResources.valueOf(((ContactPreference) o).name())));
                }
            }
            comp.setBorder(BorderFactory.createEmptyBorder(2, 4, 2, 0));
            return comp;
        }
    });

    viewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    phoneViewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    addressViewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    emailViewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);

    suggestModel = new StreetAddressSuggestModel();
    suggestAddress = new StreetAddressSuggestTextField(suggestModel, cityField, addressViewBinder);
    addressField = suggestAddress.getTextField();

    // Edit panel
    {
        FormLayout formLayout = new FormLayout("right:70dlu, 5dlu, 150dlu:grow",
                "pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, 5dlu, top:70dlu:grow, pref, pref");
        this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

        form = new JPanel();
        JScrollPane scrollPane = new JScrollPane(form);
        scrollPane.getVerticalScrollBar().setUnitIncrement(30);
        scrollPane.setBorder(BorderFactory.createEmptyBorder());
        DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, form);

        contactBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        contactBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactDTO template = contactBinder.bindingTemplate(ContactDTO.class);

        phoneNumberBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        phoneNumberBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactPhoneDTO phoneTemplate = phoneNumberBinder.bindingTemplate(ContactPhoneDTO.class);

        addressBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        addressBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactAddressDTO addressTemplate = addressBinder.bindingTemplate(ContactAddressDTO.class);

        emailBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        emailBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactEmailDTO emailTemplate = emailBinder.bindingTemplate(ContactEmailDTO.class);

        builder.add(new StreamflowButton(getActionMap().get("view")));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.name_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(defaultFocusField = (JTextField) TEXTFIELD.newField(), template.name()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.phone_label));
        builder.nextColumn(2);
        builder.add(phoneNumberBinder.bind(phoneField, phoneTemplate.phoneNumber()));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.address_label));
        builder.nextColumn(2);
        builder.add(suggestAddress);
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.zip_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(zipField, addressTemplate.zipCode()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.city_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(cityField, addressTemplate.city()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.region_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(regionField, addressTemplate.region()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.country_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(countryField, addressTemplate.country()));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.email_label));
        builder.nextColumn(2);
        builder.add(emailBinder.bind(emailField, emailTemplate.emailAddress()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_id_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(contactIdField, template.contactId()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.company_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(companyField, template.company()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_preference_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(contactPreferenceField, template.contactPreference()),
                new CellConstraints(3, 12, 1, 1, CellConstraints.LEFT, CellConstraints.TOP,
                        new Insets(5, 0, 0, 0)));
        builder.nextLine(2);
        builder.add(createLabel(WorkspaceResources.note_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(TEXTAREA.newField(), template.note()));

        builder.nextLine(2);
        builder.nextColumn(2);
        lookupPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
        lookupPanel.add(new StreamflowButton(getActionMap().get("lookupContact")));
        builder.add(lookupPanel);

        contactBinder.addObserver(this);
        phoneNumberBinder.addObserver(this);
        addressBinder.addObserver(this);
        emailBinder.addObserver(this);
        add(scrollPane, "EDIT");
    }

    // View panel
    {
        FormLayout formLayout = new FormLayout("right:70dlu, 5dlu, 150dlu:grow",
                "pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, 5dlu, top:70dlu:grow, pref, pref");
        this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

        form = new JPanel();
        JScrollPane scrollPane = new JScrollPane(form);
        scrollPane.getVerticalScrollBar().setUnitIncrement(30);
        scrollPane.setBorder(BorderFactory.createEmptyBorder());
        DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, form);

        builder.add(new StreamflowButton(getActionMap().get("edit")));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.name_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("name", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.phone_label));
        builder.nextColumn(2);
        builder.add(phoneViewBinder.bind("phoneNumber", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.address_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("address", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.zip_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("zipCode", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.city_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("city", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.region_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("region", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.country_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("country", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.email_label));
        builder.nextColumn(2);
        builder.add(emailViewBinder.bind("emailAddress", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_id_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("contactId", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.company_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("company", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_preference_label));
        builder.nextColumn(2);
        builder.add(contactPreferenceLabel);

        builder.nextLine(2);
        builder.add(createLabel(WorkspaceResources.note_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("note", visibleIfNotEmpty(new JLabel("!"))));

        add(scrollPane, "VIEW");
    }
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.conversations.ConversationsView.java

License:Apache License

public ConversationsView(@Service final ApplicationContext context, @Uses final ConversationsModel model) {
    this.model = model;

    setActionMap(context.getActionMap(this));
    MacOsUIWrapper.convertAccelerators(getActionMap());
    this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    JPanel left = new JPanel(new BorderLayout());
    left.setPreferredSize(new Dimension(200, 100));
    final CardLayout cards = new CardLayout();
    final JPanel right = new JPanel(cards);
    JPanel empty = new JPanel();
    right.add(empty, "EMPTY");

    setRightComponent(right);//from  w  ww. ja  v a  2s  . co m

    cards.show(right, "EMPTY");

    list = new JList();
    list.setModel(new EventListModel<ConversationDTO>(model.conversations()));
    list.setCellRenderer(new ConversationsListCellRenderer());
    list.setFixedCellHeight(-1);
    list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    list.addListSelectionListener(new ListSelectionListener() {

        public void valueChanged(ListSelectionEvent e) {
            if (list.getSelectedIndex() != -1 && !e.getValueIsAdjusting()) {
                final ConversationView conversationView = module.objectBuilderFactory()
                        .newObjectBuilder(ConversationView.class)
                        .use(model.newConversationModel((LinkValue) list.getSelectedValue())).newInstance();
                setRightComponent(conversationView);
            } else {
                setRightComponent(right);
                cards.show(right, "EMPTY");
            }
        }
    });

    JScrollPane scroll = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scroll.setMinimumSize(new Dimension(250, 100));
    left.add(scroll, BorderLayout.CENTER);

    JPanel addPanel = new JPanel();
    javax.swing.Action addConversationAction = getActionMap().get("addConversation");
    StreamflowButton addConversation = new StreamflowButton(addConversationAction);
    addConversation.registerKeyboardAction(addConversationAction,
            (KeyStroke) addConversationAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);
    addPanel.add(addConversation, FlowLayout.LEFT);
    left.add(addPanel, BorderLayout.SOUTH);

    setLeftComponent(left);
    this.setDividerLocation(-1);

    model.addObserver(new RefreshComponents().enabledOn("create", addConversation));

    new RefreshWhenShowing(this, model);
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.conversations.ConversationView.java

License:Apache License

public ConversationView(@Service final ApplicationContext context, @Structure Module module,
        @Uses ConversationModel model) {
    super(new BorderLayout());

    this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    add(module.objectBuilderFactory().newObjectBuilder(ConversationParticipantsView.class)
            .use(model.newParticipantsModel()).newInstance(), BorderLayout.NORTH);
    add(module.objectBuilderFactory().newObjectBuilder(MessagesConversationView.class)
            .use(model.newMessagesModel()).newInstance(), BorderLayout.CENTER);

}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.forms.CaseSubmittedFormsView.java

License:Apache License

public CaseSubmittedFormsView(@Service ApplicationContext context, @Uses final CaseSubmittedFormsModel model) {
    super(new BorderLayout());

    this.model = model;

    ActionMap am = context.getActionMap(this);
    setActionMap(am);//w  w  w.  j a va  2  s .  co  m
    setMinimumSize(new Dimension(150, 0));
    this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

    scroll = new JScrollPane();
    submittedForms = new JTree(new DefaultMutableTreeNode("Root"));
    submittedForms.setRootVisible(false);
    submittedForms.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    submittedForms.setShowsRootHandles(true);

    scroll.setViewportView(submittedForms);

    submittedForms.setCellRenderer(new DefaultTreeRenderer() {
        @Override
        public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded,
                boolean leaf, int row, boolean hasFocus) {

            if (((DefaultMutableTreeNode) value).getUserObject() instanceof SubmittedFormListDTO) {
                final SubmittedFormListDTO listDTO = (SubmittedFormListDTO) ((DefaultMutableTreeNode) value)
                        .getUserObject();
                List<SubmittedFormListDTO> modelSubmittedForms = (ArrayList) Iterables
                        .addAll(new ArrayList<SubmittedFormListDTO>(), model.getSubmittedForms());
                Collections.reverse(modelSubmittedForms);

                SubmittedFormListDTO lastSubmitted = Iterables
                        .first(Iterables.filter(new Specification<SubmittedFormListDTO>() {

                            public boolean satisfiedBy(SubmittedFormListDTO item) {
                                return listDTO.form().get().equals(item.form().get());
                            }
                        }, modelSubmittedForms));

                if (listDTO == lastSubmitted) {
                    Component c = super.getTreeCellRendererComponent(tree, listDTO.form().get(), sel, expanded,
                            leaf, row, hasFocus);

                    Map attributes = c.getFont().getAttributes();
                    if (listDTO.unread().get()) {
                        attributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
                    }
                    c.setFont(new Font(attributes));

                    return c;
                }

                String dateString = new SimpleDateFormat(text(WorkspaceResources.date_time_format))
                        .format(listDTO.submissionDate().get());
                return super.getTreeCellRendererComponent(tree, dateString, sel, expanded, leaf, row, hasFocus);

            } else
                return super.getTreeCellRendererComponent(tree, "DummyNode", sel, expanded, leaf, row,
                        hasFocus);
        }
    });

    JScrollPane submittedFormsScollPane = new JScrollPane();
    submittedFormsScollPane.setViewportView(submittedForms);

    add(submittedFormsScollPane, BorderLayout.CENTER);

    new RefreshWhenShowing(this, this);
}