为特定JTable单元设置鼠标光标

时间:2009-04-07 19:07:39

标签: java swing jtable mouse-cursor tablecellrenderer

我有一个带有一组不可编辑单元格的JTable,我希望特定列中的所有单元格在鼠标悬停在它们上方时显示不同的鼠标光标。 我已经在使用自定义渲染器,并且在渲染器组件上设置光标似乎不起作用(就像它对工具提示一样)。

它似乎适用于编辑。

当您的单元格未被编辑或我遗漏了某些东西时,这在JTable中是不可能的吗?

2 个答案:

答案 0 :(得分:8)

将一个MouseMotionListener添加到JTable,然后在mouseMoved()上使用JTable的columnAtPoint()确定它所在的列,如果它是你所追踪的特定列,则在JTable上设置setCursor()。

答案 1 :(得分:1)

以下是在JTable中更改特定列的光标的一种方法:

if(tblExamHistoryAll.columnAtPoint(evt.getPoint())==5)
{
    setCursor(Cursor.HAND_CURSOR); 
}
else
{
    setCursor(0);
}