0
我有一個包含患者姓名的行的表。我想點擊表格中的名稱,根據病人的點擊情況,不同的屬性會顯示在下面的框中。將聽衆添加到表中
這是我到目前爲止所做的。我不知道我所做的是否正確。在表格所在的GUI類中,我添加了如圖所示的偵聽器。不用說它不工作。有人可以解釋需要做什麼嗎?我很困惑這一切。
//Adding listeners for the table data.
void rowClickListener(MouseListener listenForMouseClickonRow)
{
table.addMouseListener(listenForMouseClickonRow);
//table.getModel().addTableModelListener(listenForMouseClickonRow);
}
然後在我的控制器類我添加了一個類它迫使我添加所有這些事件,我不甚至想:
public class rowClickListener implements MouseListener
{
@Override
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 1)
{
System.out.println("TEST mouse click");
}
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
}
也許增加一個ListSelectionListener到表模型會更好,這樣你可以得到選定的行號,然後從你擁有它的地方獲取數據。 – Noe 2013-05-06 19:31:48
是的,ListSelectionListener是要走的路。這樣,當用戶使用鍵盤時,邏輯也將工作。應用程序應設計爲使用鼠標或鍵盤。高級用戶使用鍵盤,新手使用鼠標。 – camickr 2013-05-06 19:33:30