private void initComponents() {

        selectSectionLbl = new JLabel();
        selectSectionScrollPanel = new JScrollPane();
        selectSectionJTable = new JTable();
        selectDirectionLbl = new JLabel();
        motherLangTransRadioBtn = new JRadioButton();
        transMotherLangRadioButton = new JRadioButton();
        backBtn = new JButton();
        nextBtn = new JButton();

        //======== this ========
        setTitle("Learning words - Select section");
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setAutoRequestFocus(false);
        Container contentPane = getContentPane();
        contentPane.setLayout(null);

        //---- selectSectionLbl ----
        selectSectionLbl.setText("Select section:");
        selectSectionLbl.setFont(selectSectionLbl.getFont().deriveFont(selectSectionLbl.getFont().getStyle() | Font.BOLD));
        contentPane.add(selectSectionLbl);
        selectSectionLbl.setBounds(new Rectangle(new Point(15, 5), selectSectionLbl.getPreferredSize()));

        //======== selectSectionScrollPanel ========
        {
            selectSectionScrollPanel.setViewportView(selectSectionJTable);
        }
        final SelectSectionWordsAmountTableModel model = new SelectSectionWordsAmountTableModel();
        selectSectionJTable.setModel(model);
        selectSectionJTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        selectSectionJTable.getColumnModel().getColumn(1).setMaxWidth(0);
        selectSectionJTable.getColumnModel().getColumn(1).setMinWidth(0);
        selectSectionJTable.getColumnModel().getColumn(1).setResizable(false);
        selectSectionJTable.getColumnModel().getColumn(1).setPreferredWidth(0);

        selectSectionJTable.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                try {
                    int row = selectSectionJTable.getSelectedRow();
                    selectedSectionName = (model.getValueAt(row, 0)).toString();
                    selectedSectionID = (Integer)(model.getValueAt(row, 1));
                    if ((Integer)(model.getValueAt(row,2)) > 0) {
                        if (!nextBtn.isEnabled()) {
                            nextBtn.setEnabled(true);
                        }
                    }
                    else {
                        nextBtn.setEnabled(false);
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        });

        contentPane.add(selectSectionScrollPanel);
        selectSectionScrollPanel.setBounds(10, 30, 430, 219);

        //---- selectDirectionLbl ----
        selectDirectionLbl.setText("Select direction:");
        selectDirectionLbl.setFont(new Font("Segoe UI", Font.BOLD, 12));
        contentPane.add(selectDirectionLbl);
        selectDirectionLbl.setBounds(15, 255, 110, 21);

        //---- motherLangTransRadioBtn ----
        motherLangTransRadioBtn.setText("Mother language > Foreign language");
        motherLangTransRadioBtn.setSelected(true);
        contentPane.add(motherLangTransRadioBtn);
        motherLangTransRadioBtn.setBounds(15, 280, 235, motherLangTransRadioBtn.getPreferredSize().height);
        motherLangTransRadioBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                selectedDirection = motherLangTransRadioBtn.getName();
            }
        });

        motherLangTransRadioBtn.setName("motherLanguageToForeignLanguage");
        transMotherLangRadioButton.setName("foreignLanguageToMotherLanguage");

        //---- transMotherLangRadioButton ----
        transMotherLangRadioButton.setText("Foreign language > Mother language");
        transMotherLangRadioButton.setSelected(false);
        contentPane.add(transMotherLangRadioButton);
        transMotherLangRadioButton.setBounds(15, 300, 240, transMotherLangRadioButton.getPreferredSize().height);
        transMotherLangRadioButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                selectedDirection = transMotherLangRadioButton.getName();
            }
        });

        //---- backBtn ----
        backBtn.setText("Back");
        backBtn.setMargin(new Insets(5, 15, 5, 15));
        contentPane.add(backBtn);
        backBtn.setBounds(110, 335, 95, backBtn.getPreferredSize().height);
        backBtn.addActionListener(new BackButtonListener(this, user));

        //---- nextBtn ----
        nextBtn.setText("Next");
        nextBtn.setMargin(new Insets(5, 15, 5, 15));
        contentPane.add(nextBtn);
        nextBtn.setBounds(10, 335, 95, nextBtn.getPreferredSize().height);
        nextBtn.setEnabled(false);
        nextBtn.addActionListener(new NextButtonListener(user, this));

        //---- Button Group ----
        ButtonGroup buttonGroup = new ButtonGroup();
        buttonGroup.add(motherLangTransRadioBtn);
        buttonGroup.add(transMotherLangRadioButton);


        contentPane.setPreferredSize(new Dimension(460, 405));
        pack();
        setLocationRelativeTo(getOwner());

    }