private void initComponents() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        wordsInSectionLbl = new JLabel();
        wordsPane = new JScrollPane();
        wordsTable = new JTable();
        editWordLbl = new JLabel();
        motherLangWordTextField = new JTextField();
        translationTextField = new JTextField();
        commitBtn = new JButton();
        deleteWordBtn = new JButton();
        backBtn = new JButton();
        statusLbl = new JLabel();

        //======== this ========
        setResizable(false);
        setTitle("Learning words - Edit card");
        Container contentPane = getContentPane();
        contentPane.setLayout(null);

        //---- wordsInSectionLbl ----
        wordsInSectionLbl.setText("Words in section '" + AddCard.getSelectedSection() + "':");
        wordsInSectionLbl.setFont(new Font("Segoe UI", Font.BOLD, 14));
        contentPane.add(wordsInSectionLbl);
        wordsInSectionLbl.setBounds(new Rectangle(new Point(20, 25), wordsInSectionLbl.getPreferredSize()));

        //======== wordsPane ========
        {
            //---- wordsTable ----
            wordsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            wordsTable.setModel(new SelectWordTableModel());
            //----Set id column invisible-----
            wordsTable.getColumnModel().getColumn(2).setMaxWidth(0);
            wordsTable.getColumnModel().getColumn(2).setMinWidth(0);
            wordsTable.getColumnModel().getColumn(2).setResizable(false);
            wordsTable.getColumnModel().getColumn(2).setPreferredWidth(0);
            //--------------------------------
            wordsTable.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    try {
                        int row = wordsTable.getSelectedRow();
                        motherLangWordTextField.setEnabled(true);
                        translationTextField.setEnabled(true);
                        commitBtn.setEnabled(true);
                        deleteWordBtn.setEnabled(true);
                        motherLangWordTextField.setText((wordsTable.getValueAt(row, 0)).toString());
                        translationTextField.setText((wordsTable.getValueAt(row, 1)).toString());
                        selectedCardId = (Integer)(wordsTable.getValueAt(row, 2));
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                }
            });
            wordsPane.setViewportView(wordsTable);
        }
        contentPane.add(wordsPane);
        wordsPane.setBounds(20, 50, wordsPane.getPreferredSize().width, 229);

        //---- editWordLbl ----
        editWordLbl.setText("Edit word and translation:");
        editWordLbl.setFont(new Font("Segoe UI", Font.BOLD, 14));
        contentPane.add(editWordLbl);
        editWordLbl.setBounds(new Rectangle(new Point(20, 290), editWordLbl.getPreferredSize()));
        contentPane.add(motherLangWordTextField);
        motherLangWordTextField.setBounds(20, 320, 260, motherLangWordTextField.getPreferredSize().height);
        contentPane.add(translationTextField);
        translationTextField.setBounds(20, 350, 260, 21);
        motherLangWordTextField.setEnabled(false);
        translationTextField.setEnabled(false);

        //---- commitBtn ----
        commitBtn.setText("Commit");
        contentPane.add(commitBtn);
        commitBtn.setBounds(20, 380, 80, 30);
        commitBtn.addActionListener(new CommitButtonListener(motherLangWordTextField, translationTextField, statusLbl, wordsTable));
        commitBtn.setEnabled(false);

        //---- deleteWordBtn ----
        deleteWordBtn.setText("Delete word");
        contentPane.add(deleteWordBtn);
        deleteWordBtn.setBounds(105, 380, 105, 30);
        deleteWordBtn.addActionListener(new DeleteWordButtonListener(motherLangWordTextField, translationTextField, statusLbl, wordsTable));
        deleteWordBtn.setEnabled(false);

        //---- backBtn ----
        backBtn.setText("Back");
        contentPane.add(backBtn);
        backBtn.setBounds(215, 380, 80, 30);
        backBtn.addActionListener(new BackButtonListener(this, user));

        //---- statusLbl ----
        statusLbl.setText("Select card to edit or delete. Words in cards must be unique!");
        statusLbl.setFont(statusLbl.getFont().deriveFont(statusLbl.getFont().getStyle() | Font.BOLD));
        contentPane.add(statusLbl);
        statusLbl.setBounds(new Rectangle(new Point(20, 430), statusLbl.getPreferredSize()));

        contentPane.setPreferredSize(new Dimension(505, 480));
        pack();
        setLocationRelativeTo(getOwner());
    }