我添加了一個鼠標點擊列表到我的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