Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java获取列TableHeader的边界_Java_Swing_Jtable_Jtableheader - Fatal编程技术网

Java获取列TableHeader的边界

Java获取列TableHeader的边界,java,swing,jtable,jtableheader,Java,Swing,Jtable,Jtableheader,我需要得到表格标题中单个列的矩形。有没有办法接收此信息?我希望您想从表头知道单元格的大小 要获得单元格的高度,您必须向tableheader询问大小并获取其高度 JTable table; int height = table.getTableHeader().getSize().height //JTable header is a JComponent 要获得单元格的宽度,必须从tableColumnModel中获取宽度 int column; //the index of desired

我需要得到表格标题中单个列的矩形。有没有办法接收此信息?

我希望您想从表头知道单元格的大小

要获得单元格的高度,您必须向tableheader询问大小并获取其高度

JTable table;
int height = table.getTableHeader().getSize().height //JTable header is a JComponent
要获得单元格的宽度,必须从tableColumnModel中获取宽度

int column; //the index of desired column
int width = table.getTableColumnModel().getColumn(column).getWidth(); //as mentioned by @MadProgrammer
根据需要,我添加了关于如何获取位置的提示

int xRel = table.getTableHeader().getX();
int column; //the index of desired column
for (int c = 0; c < column; c++){
    //adding all cell withds to come to your column
    x = x + table.getTableColumnModel().getColumn(c).getWidth();
} 

int yRel = table.getTableHeader().getY();

最初你需要尝试一些东西,反复重复。如果卡在某个地方,您需要在SO上发布相关代码,并解释您到底需要什么。
JTable#getColumnModel#getColumn(int)
“我需要在表格标题中获取单个列的矩形。为什么?您可能可以使用I还需要表格标题相对于屏幕上父JComponent或absolut的位置?”@德伯南德
JFrame frame; //your frame
int xAbs = frame.getLocation().x + xRel;
int yAbs = frame.getLocation().y + yRel;