Preencher automaticamente uma coluna na jTable quando preencher a outra!

Pessoal, boa tarde.

tenho uma tabela no banco de dados chamada: usuario que contém 2 colunas: nomeusuario e telefone, com 2 linhas:

nomeusuario | telefone
teste | 123
teste2 | 456

tenho 1 jTable com 2 colunas com os mesmos nomes da tabela do banco.

estou tentando fazer o seguinte: assim que eu digitar o nome teste na primeira linha da primeira coluna no jTable, eu quero que o sistema me traga de forma automática na coluna 2 (telefone) a informação que está no banco de dados, exemplo: se eu digitar teste, ele me traz 123, se eu digitar teste2 ele me traz 456, e assim por diante…

agradeço desde já a ajuda e a atenção de todos.

Alguém pode ajudar pessoal? não estou conseguindo mesmo

o jeito mais fácil é preencher direto com o banco de dados:

private void preencherTabela(){
    String SQL = "SELECT * FROM table WHERE algumaCoisa='outra coisa'";
    ........
}

Mas isso vai gerar uma certa lentidão no seu projeto, então tenta isso:

https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting

Opa, valew por responder orochimaru eu fiz a pesquisa no banco e estou tentando implementar na minha view, segue abaixo, porém ainda está faltando alguma coisa:

DAO
public List SelectTelefoneJTableNewDAO(String usuariobd){

    List<LinhaPedMod> telefones = new ArrayList<>();
    try{
    con = ConexDAO.getConnectionDAO();
    
    String query = ("SELECT telefone FROM usuariot WHERE usuario = ?");
    stmt = con.prepareStatement(query);
    stmt.setString(1, "%"+usuariobd+"%");
    rs = stmt.executeQuery();
    
     while (rs.next()){
         
         LinhaPedMod telefone = new LinhaPedMod();
         
         telefone.setTelefone(rs.getString(2));
         telefones.add(telefone);
     }
}
catch(SQLException ex){
    JOptionPane.showMessageDialog(null,"erro ao trazer telefone" + ex.getMessage());
}
    return telefones ;
}

VIEW
public void SelectTelefoneJTableVis(){
int linha = jTableTesteJF.getSelectedRow();
String usuariobd = String.valueOf(jTableTesteJF.getValueAt(linha,1));
List resultsql = lPDao.SelectTelefoneJTableNewDAO(usuariobd);
jTableTesteJF.setValueAt(resultsql, linha, 2);

Pessoal, após muito pesquisar e tentar, consegui graças a DEUS.

agradeço a todos que tentaram ajudar, segue abaixo como consegui…

DAO
public String SelectTelefoneJTableNewDAO(String usuariobd){

    try{
    con = ConexDAO.getConnectionDAO();
    
    String query = ("SELECT telefone FROM usuariot WHERE usuario LIKE ?");
    stmt = con.prepareStatement(query);
    stmt.setString(1, "%"+usuariobd+"%");
    rs = stmt.executeQuery();
    while (rs.next()){
         
        usuariobd = (rs.getString("telefone"));
        
     }
}
catch(SQLException ex){
    JOptionPane.showMessageDialog(null,"erro ao trazer telefone" + ex.getMessage());
}
    return usuariobd;
}

VIEW

public void SelectTelefoneJTableVis(){
int linha = jTableTesteJF.getSelectedRow();
String usuariobd = String.valueOf(jTableTesteJF.getValueAt(linha,1));
String resultsql = lPDao.SelectTelefoneJTableNewDAO(usuariobd);
jTableTesteJF.setValueAt(resultsql, linha, 2);


espero ter ajudado aos demais…