jTabelle Kontextmenü

Ich habe eine SQL-Datenbank und arbeite an einem Programm, mit dem ich Datensätze hinzufügen / löschen / ändern kann. Ich habe bereits Einträge hinzugefügt, die ich gerade bearbeite / lösche.

Ich möchte die vorhandenen Datensätze in einer Tabelle anzeigen, damit ich jTable verwende. Ich habe einen Code online gefunden und geändert, um die Datensätze abzurufen und in einer Tabelle anzuzeigen, aber ich weiß nicht, wie ich den rechten Mausklick codieren und ein Popup-Menü anzeigen soll.

In diesem Popup-Menü möchte ich Optionen wie Datensatz löschen und Datensatz ändern anzeigen.

Dies ist der Code, den ich verwende, um die jTable zu erstellen und die Daten anzuzeigen:

 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 );
}

Ich bin neu in Java, also seien Sie bitte freundlich in Ihren Antworten. Vielen Dank im Voraus für jede Hilfe!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage