0
我有一个包含JPanel的列的表。我写了自定义渲染器和编辑器,他们工作得很好。但是,该面板包含带有工具提示的JLabel组件。如果我点击单元格并将鼠标悬停在标签上,则会显示工具提示,但是如果将鼠标移动到单元格并将鼠标悬停在JLabel上,工具提示将不会显示。我已经添加了一个鼠标监听器,如下所示,我得到Panel对象并尝试使其具有焦点。JTable中的JPanel获取焦点在鼠标单击上,但不在鼠标上
public void mouseMoved(MouseEvent e) {
Point p = e.getPoint();
int row = table.rowAtPoint(p);
int column = table.columnAtPoint(p);
System.out.println(row + " " + column);
Object o = table.getModel().getValueAt(row, column);
if (o instanceof FileInfoCellPanel) {
FileInfoCellPanel ficp = (FileInfoCellPanel)o;
ficp.requestFocusInWindow();
//ficp.revalidate();
}
}
我绝对得到正确的JPanel对象,但它似乎从来没有得到重点。所以单击单元格似乎将焦点放在面板上,但移动鼠标不会。
谢谢。投票表决,我的答案被删除。 –