Respondi a número 2. Agora a número 1. Para inserir diretamente na jTable, tem que declarar como público o modelo, caso contrário, ele vai sempre apagar para adicionar novamente. Primeiro declare como públicas. Coloque uma variável para receber o valor da jTable ou use sua classe se tiver.
String nome;
String[] coluna = {"Nome da coluna"};
DefaultTableModel modelo = new DefaultTableModel(null, coluna) {
//Não permitir a edição das células
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
Agora pode colocar no evento focusLost do último controle ou ENTER, usando o evento keyPressed, keyReleased ou keyTyped.
modelo.insertRow(modelo2.getRowCount(), new Object[]{jCombo.getSelectedItem()});
jTable1.setModel(modelo2);
Agora para gravar de um por um, eu não recomendo, porque eu acho que o certo seria somente quando adicionar tudo e aí sim salvar. Mas para salvar a cada adição, coloque uma condição para que se houver algo na jTable, salve. O problema é que se excluir um ítem salvo tem que excluir no banco de dados também, por isso não recomendo dessa maneira. Vamos então ao código para salvar de um por um.
if(jTable1.getRowCount()>0){
//Ele pega a última linha adicionada na jTable
//Passa a linha e depois o índice, que começa do 0
//Altere o índice
nome=jTable1.getValueAt(jTable1.getRowCount()-1, 0);
}
Pegue o valor e salve no banco. No caso acima, a variável nome e salve no banco de dados.