让 JTable 不显示表头
Sunday, May 6, 2007 4:02:47 PM
资料不好找, 网上找到了 3 种处理的方法:
1. 不放在 JScrollPane 上, 但是需要给表加个边框. [ 来源 ]
table.setBorder(BorderFactory.createEtchedBorder()); panel.add(table);

缺点: 没有滚动条.
2. 放在 JScrollPane 上, 但是把表头隐藏. [ 来源 ]
table.getTableHeader().setVisible(false); tableScrollPane.setViewportView(table); panel.add(tableScrollPane);

缺点: 在本来表头的位置出现一片空白, 难看.
改进: 如果在前面将表头内容全部设为 "", 就可以去掉这片空白, 效果和 3 一样.
tableHeader = new String[]{"", "", "", "", "", "", "",""};
table = new JTable(tableData, tableHeader);
table.getTableHeader().setVisible(false);
tableScrollPane.setViewportView(table);
panel.add(tableScrollPane);
3. 为表头设置一个 CellRenderer, 这个 CellRenderer 的预选高度为 0. [ 来源 ]
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(); renderer.setPreferredSize(new Dimension(0, 0)); table.getTableHeader().setDefaultRenderer(renderer); tableScrollPane.setViewportView(table); panel.add(tableScrollPane);

这是目前我正在用的, 正是我想要的效果.

Joedecode # Monday, May 7, 2007 1:20:49 PM
Anonymous # Monday, January 4, 2010 5:34:45 AM