2017-07-29 38 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添加到表中,因为这是您单击的组件。