2017-07-29 82 views
0

這裏進行的錯誤的方式正在使用的mouseClicked事件得到在球場上的數據,而在桌子上點擊了,我用我的代碼如下鼠標點擊動作事件在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()); 
     } 
    }); 

這裏的問題是,當我點擊在行或列上,數據沒有出現在相應的字段上,但在點擊行或列時單擊並單擊桌面上剩餘的可用空間時出現。因此,只需雙擊生成結果即可。請幫助我解決問題

+1

您可能需要將表格的(視圖)行索引轉換爲模型的上下文 – MadProgrammer

+0

是新的java,所以您可以幫助我多謝 –

+1

您應該從[如何使用表格](https:/ /docs.oracle.com/javase/tutorial/uiswing/components/table.html)和[JavaDocs](https://docs.oracle.com/javase/8/docs/api/javax/swing/JTable.html )有一個可以證明的例子,你正在尋找'convertRowIndexToModel' – MadProgrammer

回答

1
scrollPane.addMouseListener(new MouseAdapter() { 

這裏的問題是,當我的數據不會出現在相應的領域

不要的MouseListener添加到滾動的行或列中單擊。應該將MouseListener添加到表中,因爲這是您單擊的組件。