[RESOLVIDO] MouseClicked com Jtable

7 respostas Resolvido
java-sejtablejava
F

Estou desenvolvendo uma aplicação java para desktop e gostaria de que quando eu clicasse na linha de uma JTable preenchesse os campos e selecionasse os checkbox de acordo com os dados das colunas da linha selecionada. Mas ao clicar na linha ele preenche os somente os campos e não seleciona os checkbox.

Minha jTable com os dados

Meus campos com os checkbox

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
// TODO add your handling code here:

int index= jTable1.getSelectedRow();
TableModel model=jTable1.getModel();
int fila = jTable1.rowAtPoint(evt.getPoint());
jTable1.setSelectionBackground(Color.BLUE);
txtVisita.setText(jTable1.getValueAt(fila, 0).toString());
txtDescricao.setText(jTable1.getValueAt(fila, 1).toString());
 jFormattedDataEntrada.setText(jTable1.getValueAt(fila, 2).toString());
jFormattedDataSaida.setText(jTable1.getValueAt(fila, 3).toString());
txtHoraInicio.setText(jTable1.getValueAt(fila, 4).toString());
txtHorarioFinal.setText(jTable1.getValueAt(fila, 5).toString());
txtResul.setText(jTable1.getValueAt(fila, 6).toString());


   String coluna7=  jTable1.getColumnName(7).toString();


   String coluna8=jTable1.getColumnName(8).toString();


String coluna9=jTable1.getColumnName(7).toString();
String coluna10=jTable1.getColumnName(7).toString();




if(coluna7==""){
     checkboxWord.setSelected(false);

}
else{
    checkboxWord.setSelected(coluna7.indexOf("Word")>=0);

}
 if(coluna8==""){
     checkboxExcel.setSelected(false);

}
else{
     checkboxExcel.setSelected(coluna8.indexOf("Excel")>=0);

}
  if(coluna9==""){
     jCheckBoxPower.setSelected(false);

}
else{
      jCheckBoxPower.setSelected(coluna9.indexOf("PowerPoint")>=0);

}

   if(coluna10==""){
     jCheckBoxOutllok.setSelected(false);

}
else{
    jCheckBoxOutllok.setSelected(coluna10.indexOf("Outlook")>=0);

}

txtVisitas.setText(jTable1.getValueAt(fila, 11).toString());

}

7 Respostas

J

Voce na verdade quer alterar o texto do check, de acordo com a coluna selecionada?

if(coluna7 == ""){
        check1.setSelected(false);
    } else {
        check1.setText("Novo texto do check");
        check1.setSelected(true);
    }
D

Vc está comparando Strings com ==, melhor comparar com o equals ou Objects.equals.

https://www.leepoint.net/data/expressions/22compareobjects.html

F

quero que quando eu selecionar a linha da table ele selecione o checkbox

F

Olha o erro que esta acontecendo

Quando eu clico na segunda linha da segunda tabela ele preenche os dados dos campos com as informações das tabelas,em que na coluna Word não ta vazia então era pra selecionar o checkbox apenas do word, mas selecionou o excel também

F

Olha o erro que esta acontecendo

Quando eu clico na segunda linha da segunda tabela ele preenche os dados dos campos com as informações das tabelas,em que na coluna Word não ta vazia então era pra selecionar o checkbox apenas do word, mas selecionou o excel também

D
Solucao aceita

Troque jTable1.getColumnName(?) por jTable1.getValueAt(fila, ?)

F

era isso mesmo vlw

Criado 9 de dezembro de 2017
Ultima resposta 10 de dez. de 2017
Respostas 7
Participantes 3