se può servirti:
codice:
private class MyKeyListener extends KeyAdapter {
private JTable table;
private MyTableModel model;
public MyKeyListener(JTable table) {
this.table = table;
this.model = (MyTableModel)table.getModel();
}
public void keyReleased (KeyEvent ke) {
if (table.getSelectedColumn() == 0) {
if (ke.getKeyCode() == 127) { //KeyEvent.VK_CANCEL non mi funziona ?!?
model.removeRow(table.getSelectedRow());
}
else {
System.out.println("Wrong key");
}
}
else {
System.out.println("Non ci siamo");
}
}
}
è il pezzo saliente.
Questa l'intera classe di test
codice:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class JTableModelDemo extends JFrame {
public JTable table;
public JScrollPane scrollPane;
private class MyKeyListener extends KeyAdapter {
private JTable table;
private MyTableModel model;
public MyKeyListener(JTable table) {
this.table = table;
this.model = (MyTableModel)table.getModel();
}
public void keyReleased (KeyEvent ke) {
if (table.getSelectedColumn() == 0) {
if (ke.getKeyCode() == 127) {
model.removeRow(table.getSelectedRow());
}
else {
System.out.println("Wrong key");
}
}
else {
System.out.println("Non ci siamo");
}
}
}
private class MyTableModel extends DefaultTableModel {
Object[] columnNames;
Object[][] data;
public MyTableModel(Object[][] data, Object[] columnNames) {
super(data, columnNames);
this.columnNames = columnNames;
this.data = data;
}
public MyTableModel() {
this(
new Object[][] {
{"100010", "Bin", "Ario", "34"},
{"3434", "John", "Doe", "2010"},
{"666", "Xabaras", "Belzebù", "Troppi"}
},
new Object[] {"Id", "Nome", "Cognome", "Età"}
);
}
public boolean isCellEditable(int row, int col) {
return (col > 0);
}
}
public JTableModelDemo() {
super("Table Model Demo");
table = new JTable(new MyTableModel());
scrollPane = new JScrollPane(table);
this.getContentPane().add(scrollPane, BorderLayout.CENTER);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
table.setVisible(true);
table.addKeyListener(new MyKeyListener(table));
this.pack();
}
public static void main (String[] args) {
new JTableModelDemo();
}
}