private void initComponents() {
        chatInputPane = new JTextField();
        tabbedPane = new DnDTabbedPane();
        tabInfo = new JLabel();
        menuBar = new JMenuBar();
        fileMenu = new JMenu("File");
        fileMenu.setMnemonic('F');
        editMenu = new JMenu("Edit");
        editMenu.setMnemonic('E');
        windowMenu = new JMenu("Window");
        windowMenu.setMnemonic('W');
        settingsMenu = new JMenu("Settings");
        settingsMenu.setMnemonic('S');
        findTextAction = new JMenuItem();
        copyAction = new JMenuItem(new DefaultEditorKit.CopyAction());
        copyAction.setAccelerator(KeyStroke.getKeyStroke('C', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
        copyAction.setText("Copy");
        copyAction.setIcon(copyIcon);
        editMenu.add(findTextAction);
        editMenu.add(copyAction);
        cutAction = new JMenuItem((new DefaultEditorKit.CutAction()));
        cutAction.setAccelerator(KeyStroke.getKeyStroke('X', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
        cutAction.setText("Cut");
        cutAction.setIcon(cutIcon);
        editMenu.add(cutAction);
        pasteAction = new JMenuItem(new DefaultEditorKit.PasteAction());
        pasteAction.setAccelerator(KeyStroke.getKeyStroke('V', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
        pasteAction.setText("Paste");
        pasteAction.setIcon(pasteIcon);
        editMenu.add(pasteAction);
        editMenu.addSeparator();
        clearWindow = new JMenuItem();
        editMenu.add(clearWindow);
        clearAllWindows = new JMenuItem();
        editMenu.add(clearAllWindows);
        previousTab = new JMenuItem();
        windowMenu.add(previousTab);
        nextTab = new JMenuItem();
        windowMenu.add(nextTab);
        windowMenu.addSeparator();
        moveTabLeft = new JMenuItem();
        windowMenu.add(moveTabLeft);
        moveTabRight = new JMenuItem();
        windowMenu.add(moveTabRight);
        closeTab = new JMenuItem();
        windowMenu.add(closeTab);
        windowMenu.addSeparator();
        channelList = new JMenuItem();
        windowMenu.add(channelList);
        serverList = new JMenuItem();
        fileMenu.add(serverList);
        quickConnect = new JMenuItem();
        fileMenu.add(quickConnect);
        fileMenu.addSeparator();
        disconnect = new JMenuItem();
        fileMenu.add(disconnect);
        identity = new JMenuItem();
        showNickList = new JMenuItem();
        configure = new JMenuItem();
        settingsMenu.add(showNickList);
        settingsMenu.add(identity);
        settingsMenu.add(configure);
        reconnect = new JMenuItem();
        fileMenu.add(reconnect);
        joinChannel = new JMenuItem();
        fileMenu.add(joinChannel);
        fileMenu.addSeparator();
        globalAway = new JMenuItem();
        fileMenu.add(globalAway);
        fileMenu.addSeparator();
        quitProgram = new JMenuItem();
        fileMenu.add(quitProgram);

        chatInputPane.setFocusTraversalKeysEnabled(false);

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        tabbedPane.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
        tabbedPane.setTabLayoutPolicy(DnDTabbedPane.SCROLL_TAB_LAYOUT);
        tabbedPane.setFocusable(false);
        tabbedPane.setPreferredSize(new Dimension(600, 450));
        tabbedPane.setTabPlacement(GUI.tabPlacement);

        tabInfo.setHorizontalAlignment(SwingConstants.RIGHT);

        menuBar.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
        menuBar.setFocusable(false);

        menuBar.add(fileMenu);
        menuBar.add(editMenu);
        menuBar.add(settingsMenu);
        menuBar.add(windowMenu);


        setJMenuBar(menuBar);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(chatInputPane, javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(tabbedPane, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 699, Short.MAX_VALUE)
                        .addComponent(tabInfo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(chatInputPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(tabInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        pack();
    }