JPanels を含む 1 つの列を持つテーブルがあります。カスタム レンダラーとエディターを作成しましたが、正常に動作します。ただし、パネルには、ツール ヒント付きの JLabel コンポーネントが含まれています。セルをクリックしてラベルにカーソルを合わせると、ツール ヒントが表示されますが、マウスをセルに移動して JLabel にカーソルを合わせると、ツール ヒントは表示されません。以下に示すように、Panel オブジェクトを取得してフォーカスを設定しようとするテーブルにマウス リスナーを追加しました。
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 オブジェクトを取得していますが、フォーカスが得られないようです。そのため、セルをクリックするとパネルにフォーカスが移るように見えますが、マウスを動かしてもそうではありません。