当用户双击该行时,我正在使用 JTable,然后鼠标应聚焦在下一行。 -> 好的 滚动条时如何将Jscrollbar和鼠标移动到同一位置
public void TableMouseListener implements MouseListener {
public void mouseClicked(MouseEvent e) {
//if the double click is performed or left button
if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() >= 2) {
Robot r;
Point p = e.getPoint();
JTable table = (JTable) e.getSource();
int rowNumber = table.rowAtPoint(p);
PointerInfo a1 = MouseInfo.getPointerInfo();
Point b1 = a1.getLocation();
int x1 = (int) b1.getX();
int y1 = (int) b1.getY();
System.out.println(x1+" :X : "+x1);
System.out.println(y1+" : Y : "+y1);
//Mouse move to next record based row height
r = new Robot();
r.mouseMove(x1, y1 +table.getRowHeight());
//Can any one suggest move the scrollbar based on the cursor move
//Rectangle rect = viewport.getViewRect();
//rect.y = rect.y + table.getRowHeight();
//viewport.scrollRectToVisible(rect); -> IF scrollbar is used to move but not in next poistion
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
最佳答案
设置正确ListSelectionModel到
JTable
添加ListSelectionListener而不是使用
AWT.Robot
,必须测试是否选择了任何行 (.... >-1),必须测试是否不是
<JTables View
中的第一行
或最后
行,
关于java - Swing:在Jtable中,当光标向下移动时,JScroll栏也应该向下移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14157305/