2017-07-29 2 views
0

Ici je utilise événement mouseClicked pour obtenir des données sur le terrain tout en cliquant sur la table pour que j'ai utilisé mon code comme ci-dessousévénement d'action mouseclick se produit dans le mauvais sens en java

scrollPane.addMouseListener(new MouseAdapter() { 

     public void mouseClicked(MouseEvent e) { 

      int rowIndex= table.getSelectedRow(); 
      DefaultTableModel model=(DefaultTableModel) table.getModel(); 
      txt_Product_ID.setText(model.getValueAt(rowIndex,0).toString()); 
      txt_Product_Code.setText(model.getValueAt(rowIndex,1).toString()); 
      txt_Product_Name.setText(model.getValueAt(rowIndex,2).toString()); 
     } 
    }); 

Ici, le problème est quand je clique sur la ligne ou la colonne les données n'apparaissent pas sur les champs correspondants mais apparaissant en cliquant sur la ligne ou la colonne et en cliquant sur l'espace restant disponible sur la table.so fois en cliquant ne produisant que le résultat.please m'aider à résoudre mon problème

+1

Vous devrez peut-être traduire l'index de la ligne (vue) du tableau dans le contexte du modèle – MadProgrammer

+0

suis nouveau sur java, alors pouvez-vous m'aider beaucoup merci –

+1

Vous devriez commencer par [Comment utiliser les tables] (https://docs.oracle.com/javase/tutorial/uiswing/components/table.html) et [JavaDocs] (https://docs.oracle.com/javase/8/docs/api/javax/swing/JTable.html) avez un exemple démontrable, vous cherchez 'convertRowIndexToModel' – MadProgrammer

Répondre

1
scrollPane.addMouseListener(new MouseAdapter() { 

Ici, le problème est quand je clique sur la ligne ou colonne les données n'apparaît pas sur les champs correspondants

Ne pas ajouter le MouseListener au scrollpane. Le MouseListener devrait être ajouté à la table, puisqu'il s'agit du composant sur lequel vous cliquez.