获取所选JTable单元的位置?

时间:2013-10-22 10:51:27

标签: java swing jtable

我有一个带有几个JTable的JFrame。在一个特定的JTable上,我需要在选择的JFrame中选择单元格的位置(通过代码完成选择)。我想在Glass Pane上画一些东西。我怎么能做到这一点?

Point p = gui.rerouteTable.getLocation();
SwingUtilities.convertPointToScreen(p,gui.rerouteTable);

我以为这可以让我在桌子的左上角。通过Cell Height和SelectionListener,我可以克服我需要的位置。但我甚至得不到桌子的左手角落。为什么不? gui.rerouteTable.getLocation()返回(0,0),显然convertPointToScreen无法正常工作。

3 个答案:

答案 0 :(得分:10)

使用JTable的方法

public Rectangle getCellRect(int row, int column, boolean includeSpacing)

答案 1 :(得分:1)

如果出于其他原因不需要玻璃窗格,请考虑使用isSelected值来TableCellRenderer来调节渲染器的外观。

附录:每次为特定单元格调用value时,名为Object的参数都是对从该单元格的模型中获取的{{1}}的引用。

答案 2 :(得分:0)

使用此代码,您可以获取表格中单元格的x和y坐标:

private void jtTableMouseClicked(java.awt.event.MouseEvent evt) {                                      
    int x = jtTable.getSelectedRow();
    int y = jtTable.getSelectedColumn();
}