Não sei o que ocorre, já li muita coisa sobre a JTable, e ela continua me batendo 
Seguinte, estou com um pequeno problema, gostaria que quando o usuario:
- Apertasse seta pra baixo, ele descia entre as linhas do jtable, caso for a ultima linha, adiciona uma nova linha
- Apertasse seta pra cima, ele subia entre as linhas do jatble, caso for a ultima linha, e ela estiver vazia, removia a ultima linha, sempre deixando a primeira linha.
tabela.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode()==KeyEvent.VK_DOWN) {
adicionar();
}
if (e.getKeyCode()==KeyEvent.VK_UP) {
remover();
}
}
});
public static void adicionar(){
if (tabela.getSelectedRow() == tabela.getModel().getRowCount() -1) {
((ModeloJTable)tabela.getModel()).addRow(new String[]{"","",""});
}
}
public static void remover(){
ModeloJTable modelo = (ModeloJTable)tabela.getModel();
int linhaSelecionada = tabela.getSelectedRow();
System.out.print(linhaSelecionada);
if (linhaSelecionada != 0){
coluna = (String)modelo.getValueAt(linhaSelecionada, 0);
if( linhaSelecionada < 0 ){
JOptionPane.showMessageDialog(null, "Nenhuma linha selecionada", "Erro!", JOptionPane.ERROR_MESSAGE);
return;
}else{
modelo.removeRow(linhaSelecionada);
tabela.getSelectionModel().setSelectionInterval(linhaSelecionada+1,linhaSelecionada+1);
}
} else {
return;
}
}
Alguém pode me dar uma luz?