我有一个带有几个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无法正常工作。
答案 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();
}