private void createMainPanel() {
        userList = new JList<>(usersModel);
        userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        userList.setSelectedIndex(0);
        userList.setLayoutOrientation(JList.VERTICAL);
        userList.setSelectionBackground( new Color(102, 153, 255) );
        userList.setCellRenderer(userListRenderer);
        userList.setBorder( BorderFactory.createEmptyBorder(10, 10, 0, 0) );

        JScrollPane usersPanel = new JScrollPane(userList);
        usersPanel.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        usersPanel.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
        usersPanel.setAutoscrolls(true);
        usersPanel.setBorder( BorderFactory.createEmptyBorder() );
        GUI.setPreferredSize(usersPanel, 200, 350);

        topicPanel = new JEditorPane();
        topicPanel.setContentType("text/html");
        topicPanel.setEditable(false);
        topicPanel.setBackground(backgroundColor);
        topicPanel.setBorder( BorderFactory.createEmptyBorder(10, 10, 0, 10) );
        setNicerFont(topicPanel);

        JScrollPane topPanel = new JScrollPane(topicPanel);
        topPanel.setBorder( BorderFactory.createEmptyBorder() );
        topPanel.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        topPanel.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
        topPanel.setMaximumSize( new Dimension(4000, 75) );
        GUI.setPreferredSize(topPanel, 480, 50);

        content.setBorder( BorderFactory.createEmptyBorder(10, 10, 10, 10) );

        JScrollPane bottomPanel = new JScrollPane(content);
        bottomPanel.setBorder( BorderFactory.createEmptyBorder() );
        bottomPanel.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        bottomPanel.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        bottomPanel.setAutoscrolls(true);
        GUI.setPreferredSize(bottomPanel, 480, 200);

        Box leftBox = Box.createVerticalBox();
        leftBox.add(topPanel);
        leftBox.add(bottomPanel);

        add(leftBox);
        add(usersPanel);

        SpringLayout layout = new SpringLayout();

        layout.putConstraint(SpringLayout.EAST, leftBox, 0, SpringLayout.WEST, usersPanel);
        layout.putConstraint(SpringLayout.WEST, leftBox, 0, SpringLayout.WEST, this);
        layout.putConstraint(SpringLayout.EAST, usersPanel, 0, SpringLayout.EAST, this);
        layout.putConstraint(SpringLayout.NORTH, leftBox, 0, SpringLayout.NORTH, this);
        layout.putConstraint(SpringLayout.NORTH, usersPanel, 0, SpringLayout.NORTH, leftBox);
        layout.putConstraint(SpringLayout.SOUTH, leftBox, 0, SpringLayout.SOUTH, this);
        layout.putConstraint(SpringLayout.SOUTH, usersPanel, 0, SpringLayout.SOUTH, leftBox);

        setLayout(layout);

        if ( !Settings.getInstance().isViewEnabled("display-topic") )
            setTopicPanelVisibility(false);
    }