@Override
    public void companyShow() {
        // TODO Auto-generated method stub
        appListener.getCompany();

        companyTable = new JTable(companymodel) {

            private static final long serialVersionUID = 1L;

            /**
             *
             * @param row row number
             * @param column column number
             * @return true or false
             */
            public boolean isCellEditable(int row, int column) {
                if (column == 0 || column == 1) {
                    return false;
                } else {
                    return true;
                }
            }

            /**
             *
             * @param renderer TableCellRenderer
             * @param Index_row index_row number
             * @param Index_col index_col number
             * @return return Compononet
             */
            public Component prepareRenderer(TableCellRenderer renderer,
                                             int Index_row, int Index_col) {
                Component comp = super.prepareRenderer(renderer, Index_row,
                        Index_col);
                // even index, selected or not selected
                if (Index_row % 2 == 0 && !isCellSelected(Index_row, Index_col)) {
                    comp.setBackground(new Color(240,248,255));
                } else {
                    comp.setBackground(new Color(198,226,255));
                }
                JComponent jc = (JComponent) comp;
                if (Index_col >1 ) {
                    jc.setToolTipText("Edytuj: "
                            + getValueAt(Index_row, Index_col));
                }
                return comp;
            }
        };

        companyScroll = new JScrollPane(companyTable);
        companyScroll.setPreferredSize(new Dimension(820,600));

        companymodel.addColumn("Lp.");
        companymodel.addColumn("ID");
        companymodel.addColumn("Nazwa firmy");
        companymodel.addColumn("Adres");
        companyTable.setRowHeight(20);
        TableColumnModel tcm = companyTable.getColumnModel();
        tcm.getColumn(0).setMaxWidth(50);
        tcm.getColumn(1).setMaxWidth(50);
        companyTable.getTableHeader().setFont(new Font("Arial", 0, 15));

        tableEdit(companyTable); // edycja tabeli

        controls = new JPanel(new BorderLayout(5, 5));
        buttons = new JPanel(new GridLayout(0, 1, 4, 4));
        newrow = new JButton("Dodaj");
        print = new JButton("Drukuj");
        deletebutton = new JButton("Usuń");
        deleteAction(companyTable, "firmy");


        JPopupMenu popupMenu = new JPopupMenu();
        JMenuItem menuItemRemove = new JMenuItem("Usuń");
        popupMenu.add(menuItemRemove);
        companyTable.setComponentPopupMenu(popupMenu);
        menuItemRemove.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int selRow = Integer.parseInt(companyTable.getValueAt(companyTable.getSelectedRow(), 1).toString());
                fireDeleteEvent(new CompanyEvent(null, "firmy",
                        null, selRow, ""), "firmy");

            }
        });


        newrow.addActionListener(new ActionListener() {

            /**
             *
             * @param e actionPerformed argument
             */
            @Override
            public void actionPerformed(ActionEvent e) {

                final JFrame newpopup = new JFrame("Dodaj nową firmę");
                newpopup.setSize(500, 280);
                newpopup.setLocationRelativeTo(null);
                newpopup.setResizable(false);
                newpopup.setLayout(new GridBagLayout());

                newpopup.setBackground(Color.gray);
                GridBagConstraints c = new GridBagConstraints();

                JPanel acctInfo = new JPanel(new GridBagLayout());
                c.gridx = 0;
                c.gridy = 0;
                c.gridwidth = 2;
                c.gridheight = 1;
                c.insets = new Insets(5, 5, 5, 5);
                newpopup.add(acctInfo, c);
                c.gridwidth = 1;

                JLabel custNameLbl = new JLabel("Nazwa firmy");
                c.gridx = 0;
                c.gridy = 0;
                c.insets = new Insets(0, 0, 0, 0);
                acctInfo.add(custNameLbl, c);
                c.weightx = 1.;

                JLabel custAddressLbl = new JLabel("Adres firmy");
                c.gridx = 0;
                c.gridy = 1;
                c.insets = new Insets(0, 0, 0, 0);
                acctInfo.add(custAddressLbl, c);
                c.weightx = 1.;

                c.fill = GridBagConstraints.HORIZONTAL;
                custNameTxt = new JTextField("", 1000);
                c.gridx = 1;
                c.gridy = 0;
                c.insets = new Insets(5, 5, 5, 5);
                acctInfo.add(custNameTxt, c);

                c.fill = GridBagConstraints.HORIZONTAL;
                final JTextField custAddressTxt = new JTextField("");
                c.gridx = 1;
                c.gridy = 1;
                c.insets = new Insets(5, 5, 5, 5);
                acctInfo.add(custAddressTxt, c);

                closeBtn = new JButton("Anuluj");
                c.gridx = 0;
                c.gridy = 3;
                c.insets = new Insets(5, 5, 5, 5);
                acctInfo.add(closeBtn, c);

                savingsBtn = new JButton("Dodaj nową firmę");
                c.gridx = 1;
                c.gridy = 3;
                c.insets = new Insets(5, 5, 5, 5);
                acctInfo.add(savingsBtn, c);

                newpopup.setVisible(true);

                closeBtn.addActionListener(new ActionListener() {
                    /**
                     *
                     * @param e actionPerformed argument
                     */
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        newpopup.dispose();
                    }
                });

                savingsBtn.addActionListener(new ActionListener() {

                    /**
                     *
                     * @param e actionPerformed argument
                     */
                    @Override
                    public void actionPerformed(ActionEvent e) {

                        String name = custNameTxt.getText();
                        String address = custAddressTxt.getText();

                        if (!name.isEmpty() && !address.isEmpty()) {
                            JOptionPane.showMessageDialog(View.this, "Dodano",
                                    "Dodano", JOptionPane.INFORMATION_MESSAGE);

                            System.out.println(name + ": " + address);

                            fireCompanyEvent(new CompanyEvent(name, "firmy",
                                    address, 0, "add"));

                        } else {

                            String a ="";
                            String b ="";

                            if(name.isEmpty()){
                                a = "NAZWA";
                            }
                            if(address.isEmpty()){
                                b="ADRES";
                            }


                            JOptionPane.showMessageDialog(View.this,
                                    "Uzupełnij pola: "+a+" "+b+" ", "Uzupełnij pole",
                                    JOptionPane.WARNING_MESSAGE);
                        }
                    }
                });
            }
        });

        buttons.add(newrow);
        buttons.add(deletebutton);
        buttons.add(print);
        buttons.setBorder(new TitledBorder("Zarządzaj"));

        controls.add(buttons, BorderLayout.NORTH);

        card2.add(companyScroll);
        card2.add(controls);
    }