MainFrame() {
        final ClassLoader cLoader = getClass().getClassLoader();
        ImageIcon collapseIcon = new ImageIcon(/*cLoader.getResource("images/Toggle_03_Hide.png"*/);
        final JLabel collapseBtn = new JLabel(collapseIcon);

        ImageIcon windowIcon = new ImageIcon(/*cLoader.getResource("images/WindowIcon02-50x50.png")*/);
        setIconImage(windowIcon.getImage());

        setJMenuBar(menuBar);
        jtaOutput.setLineWrap(true);
        jtaOutput.setWrapStyleWord(true);
        jtaOutput.setEditable(false);
        upperPanel.rightPanel.add(containerForChooser);
        containerForChooser.add(leftInnerPanel);
        containerForChooser.add(rightInnerPanel);
        leftInnerPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
        rightInnerPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
        jcboCalcChooser = new JComboBox<String>(calcName);
        jcboCalcChooser.setSelectedIndex(panelIndex);
        leftInnerPanel.add(jcboCalcChooser);
        rightInnerPanel.add(collapseBtn);

        jtaOutput.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
                    ctrlPressed = true;
                }
            }

            @Override
            public void keyReleased(KeyEvent e) {
                if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
                    ctrlPressed = false;
                }
            }
        });

        jtaOutput.addMouseWheelListener(new MouseWheelListener() {
            @Override
            public void mouseWheelMoved(MouseWheelEvent e) {

                if (ctrlPressed == true) {
                    if (outputFocused == true) {
                        int wheel = e.getWheelRotation();

                        if (wheel < 0) {
                            if (fontSize < maxFontSize) {
                                fontSize++;
                            }
                        }
                        else {
                            if (fontSize > minFontSize) {
                                fontSize--;
                            }
                        }

                        Font font = new Font(jtaOutput.getFont().getName(), Font.PLAIN, fontSize);
                        jtaOutput.setFont(font);
                    }
                }
            }
        });

        jtaOutput.addFocusListener(new FocusListener() {

            @Override
            public void focusGained(FocusEvent e) {
                outputFocused = true;
            }

            @Override
            public void focusLost(FocusEvent e) {
                outputFocused = false;
            }
        });

        jcboCalcChooser.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                collapseBtn.setIcon(new ImageIcon(/*cLoader.getResource("images/Toggle_03_Hide.png")*/));
                hiddenPanel = false;
                setPanel(jcboCalcChooser.getSelectedIndex());
            }
        });
        collapseBtn.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent e) {
                if (hiddenPanel == false) {
                    collapseBtn.setIcon(new ImageIcon(cLoader.getResource("images/Toggle_03_Show.png")));
                    upperPanel.leftPanel.removeAll();
                    upperPanel.leftPanel.revalidate();
                    hiddenPanel = true;
                } else if (hiddenPanel == true) {
                    collapseBtn.setIcon(new ImageIcon(cLoader.getResource("images/Toggle_03_Hide.png")));
                    showPanel();
                    upperPanel.leftPanel.revalidate();
                    hiddenPanel = false;
                }
            }
        });

        upperPanel.rightPanel.add(scrollerForOutput);
        panelForCollapseBtn.setLayout(new FlowLayout(FlowLayout.RIGHT));
        panelForCollapseBtn.add(new JLabel("Hello World"));
        borderForOutput = BorderFactory.createCompoundBorder(new TitledBorder(
                "Output"), new BevelBorder(BevelBorder.LOWERED));
        scrollerForOutput.setBorder(borderForOutput);

        setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
        add(upperPanel, BorderLayout.NORTH);
        add(lowerPanel, BorderLayout.SOUTH);
    }