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對象,但它似乎從來沒有得到重點。所以單擊單元格似乎將焦點放在面板上,但移動鼠標不會。
謝謝。投票表決,我的答案被刪除。 –