我在NetBeans中使用JTable GUI组件.
我想创建多行标题
当我为表头创建自定义渲染器时,我能够这样做
但我不想,因为我喜欢默认的(我在程序中的其他地方使用它).
所以问题是:如何使标题更高?
我的代码:
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));
Run Code Online (Sandbox Code Playgroud)
请尝试以下方法:
table.getTableHeader().setPreferredSize(
new Dimension(table.getColumnModel().getTotalColumnWidth(), 32));
Run Code Online (Sandbox Code Playgroud)
这将改变标题的大小:
替代文字http://img96.imageshack.us/img96/7544/so2343391.png
要使文本居中,可以使用<center>-tag:
headers[2] = "<html><center>Long Centered<br>Header";
Run Code Online (Sandbox Code Playgroud)
替代文字http://img710.imageshack.us/img710/705/so23436532.png
编辑:
对齐方式由LookAndFeel设置.WindowsTableHeaderUI例如显式调用
setHorizontalAlignment(LEADING);
Run Code Online (Sandbox Code Playgroud)
解决这个问题最简单的方法是:
(JLabel)table.getTableHeader().getDefaultRenderer())
.setHorizontalAlignment(SwingConstants.CENTER);
Run Code Online (Sandbox Code Playgroud)
请注意,之后更改LookAndFeel时,此更改将丢失.
| 归档时间: |
|
| 查看次数: |
10383 次 |
| 最近记录: |