SQL veritabanım var ve kayıt eklemeyi/silme/değiştirmeme izin verecek bir program üzerinde çalışıyorum. Zaten kayıt eklemeye başladım, onları düzenleme/silme üzerinde çalışıyorum.jTable sağ tıklatma menüsü
Mevcut kayıtları bir tabloda görüntülemek istiyorum, bu yüzden jTable'ı kullanıyorum. Bazı kodları online olarak buldum ve kayıtları çekip bir jale halinde görüntüledim ancak sağ tıklamayı kodlama ve bir açılır menü göstermeyi bilmiyorum.
Bu açılır menüde kayıt silme ve kayıt değiştirme gibi seçenekleri görüntülemek istiyorum.
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);
}
Java için yeni böylece yanıtlarda tür olun duyuyorum:
Bu
ben jtable yapmak ve verileri görüntülemek kullanıyorum kodudur. Her türlü yardım için şimdiden teşekkür ederiz!
[JComponent # setComponentPopup] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setComponentPopupMenu (javax bir göz atın .swing.JPopupMenu)) – MadProgrammer
Bu çözüm (burada henüz bağlantılı olmayan benzer bir soru) me: http://stackoverflow.com/a/17316876/411282 –