我添加了一个鼠标点击列表到我的jtable,当我双击该行时,会相应地弹出一个窗口。JTable监听器问题
jTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
double amount = Double.parseDouble(jTable.getValueAt(getSelectedRow(), 4).toString());
String remarks = jTable.getValueAt(getSelectedRow(), 3).toString();
String transactionID = jTable.getValueAt(getSelectedRow(), 1).toString();
new EditFrame(...)
}
});
这段代码我用来检索行选中的行。
public int getSelectedRow() {
jTable.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
int viewRow = jTable.getSelectedRow();
selectedRow = viewRow;
System.out.println(viewRow);
}
});
return selectedRow;
}
就我而言,我意识到,当我第一次点击的第二排,我得到空的selectedRow,只有当我选择第一排,然后第二行,然后我就可以得到正确的数据。如果我删除了鼠标监听器,那么问题就解决了。是否因为我在鼠标点击侦听器上做错了事情?
你会如何使用它? – 2010-07-14 00:57:39