gpt4 book ai didi

Java Swing - JTable 中的多个列标题?

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:31 25 4
gpt4 key购买 nike

有什么方法可以在 JTable 中创建多个列标题?我的意思是,通常只有一行,但我需要其中两行具有相同的格式(类似标题),并组合其中一个标题的一些单元格。

我需要这样的东西:

Header0 |          Header123          | Header4Header0 | Header1 | Header2 | Header3 | Header4

有什么办法吗?

最佳答案

Nick Meyer 感谢您的好心回复,您地址中的内容有点过时了。我用 jre 1.7 运行它,它没有按预期工作,但可以对其进行更改以使其正常工作。我所做的改变如下

/*
* add these code in GroupableTableHeader
*/

public void updateUI(){
// setUI(this.getUI());

TableCellRenderer renderer = getDefaultRenderer();
if (renderer instanceof Component) {
SwingUtilities.updateComponentTreeUI((Component)renderer);
}
}

/*
* add these code in GroupableTableHeaderUI in 2 places, you must know where
*/
if (renderer == null) {
renderer = header.getDefaultRenderer();
}

/*
* change the getSize method in ColumnGroup
*/

public Dimension getSize(JTable table) {
Component comp = renderer.getTableCellRendererComponent(
table, getHeaderValue(), false, false,-1, -1);
int height = comp.getPreferredSize().height;
int width = 0;
Enumeration en = v.elements();
while (en.hasMoreElements()) {
Object obj = en.nextElement();
if (obj instanceof TableColumn) {
TableColumn aColumn = (TableColumn)obj;
width += aColumn.getWidth();
// width += margin;
} else {
width += ((ColumnGroup)obj).getSize(table).width;
}
}
return new Dimension(width, height);
}

最后的结果。 enter image description here

关于Java Swing - JTable 中的多个列标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3320278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com