jTable menu kontekstowe kliknięcia prawym przyciskiem myszy

Mam bazę danych SQL i pracuję nad programem, który pozwoli mi dodawać / usuwać / modyfikować rekordy. Udało mi się już dodać rekordy, nad którymi pracuję nad ich edycją / usuwaniem.

Chcę wyświetlić istniejące rekordy w tabeli, więc używam jTable. Znalazłem kod online i zmodyfikowałem go, aby pobrać rekordy i wyświetlić je w tabeli jtable, ale nie wiem, jak zakodować kliknięcie prawym przyciskiem i wyświetlić menu podręczne.

W tym menu podręcznym chcę wyświetlić opcje, takie jak usuwanie rekordu i modyfikowanie rekordu.

To jest kod, którego używam do tworzenia jTable i wyświetlania danych:

 private void menuDeleteAuthorActionPerformed(java.awt.event.ActionEvent evt) {                                                 
    TableFromDatabase deleteAuthor = new TableFromDatabase();
    deleteAuthor.pack();
    deleteAuthor.setVisible(true);

    Vector columnNames = new Vector();
    Vector data = new Vector();

    try
    {

        Connection connection = DriverManager.getConnection( url, user, password );

        //  Read data from a table

        String sql = "SELECT * FROM Authors";
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery( sql );
        ResultSetMetaData md = rs.getMetaData();
        int columns = md.getColumnCount();

        //  Get column names

        for (int i = 1; i <= columns; i++)
        {
            columnNames.addElement( md.getColumnName(i) );
        }

        //  Get row data

        while (rs.next())
        {
            Vector row = new Vector(columns);

            for (int i = 1; i <= columns; i++)
            {
                row.addElement( rs.getObject(i) );
            }

            data.addElement( row );
        }

        rs.close();
        stmt.close();
        connection.close();
    }
    catch(Exception e)
    {
        System.out.println( e );
    }

    //  Create table with database data

    JTable table = new JTable(data, columnNames)
    {
        public Class getColumnClass(int column)
        {
            for (int row = 0; row < getRowCount(); row++)
            {
                Object o = getValueAt(row, column);

                if (o != null)
                {
                    return o.getClass();
                }
            }

            return Object.class;
        }
    };

    JScrollPane scrollPane = new JScrollPane( table );
    getContentPane().add( scrollPane );

    JPanel buttonPanel = new JPanel();
    getContentPane().add( buttonPanel, BorderLayout.SOUTH );
}

Jestem nowym użytkownikiem Java, więc proszę bądź uprzejmy w swoich odpowiedziach. Z góry dziękuję za wszelką pomoc!

questionAnswers(3)

yourAnswerToTheQuestion