gpt4 book ai didi

java - 为 JTable 创建多行标题

转载 作者:行者123 更新时间:2023-11-30 05:59:55 25 4
gpt4 key购买 nike

我将 JTable GUI 组件与 NetBeans 一起使用。

  • 我想创建多行标题

  • 当我为表头创建自定义渲染器时,我能够做到这一点

  • 但我不想这样做,因为我喜欢默认值(我在程序中的其他任何地方都使用它)。

  • 所以问题是:如何制作标题高度?

我的代码:

String headers[] = new String[3];
headers[0] = "Header1";
headers[1] = "Header2";
headers[2] = "<html><center>Long<br>Centered</br></center></html>";
DefaultTableModel dtm = new DefaultTableModel();
dtm.setColumnIdentifiers(headers);
dtm.setRowCount(5);
jTable1.setModel(dtm);
jTable1.getTableHeader().setPreferredSize(
new Dimension(jTable1.getColumnModel().getTotalColumnWidth(),32));

最佳答案

尝试以下操作:

table.getTableHeader().setPreferredSize(
new Dimension(table.getColumnModel().getTotalColumnWidth(), 32));

这将改变标题的大小:

alt text

要将文本居中,您可以使用 <center> -标签:

headers[2] = "<html><center>Long Centered<br>Header";

alt text

编辑:

对齐方式由您的 LookAndFeel 设置。 WindowsTableHeaderUI例如显式调用

setHorizontalAlignment(LEADING);

解决这个问题最简单的方法是:

(JLabel)table.getTableHeader().getDefaultRenderer())
.setHorizontalAlignment(SwingConstants.CENTER);

请注意,当您随后更改 LookAndFeel 时,此更改将会丢失。

关于java - 为 JTable 创建多行标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343391/

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