今天需要把JTable的表头也就是标题行给隐藏掉,在晚上找了一下主要有以下三种方法:
1. 不放在 JScrollPane 上, 但是需要给表加个边框.
table.setBorder(BorderFactory.createEtchedBorder());
panel.add(table);

2. 放在 JScrollPane 上, 但是把表头隐藏..
table.getTableHeader().setVisible(false);
tableScrollPane.setViewportView(table);
panel.add(tableScrollPane);

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


- 大小: 29.6 KB

- 大小: 29.8 KB

- 大小: 8.3 KB
分享到:
相关推荐
`JTable` 的表头默认是可以移动的,若希望禁止用户重新排列表头顺序,可以通过以下方式实现: ```java table.getTableHeader().setReorderingAllowed(false); ``` 若不希望用户调整列宽,则可以设置: ```java ...
这通常涉及两个主要步骤:定义表头(列名)和表数据(行数据)。 ```java String[] columnNames = {"Product", "NumberofBoxes", "Price"}; Object[][] data = { {"Apples", new Integer(5), "5.00"}, {...
Sample26_1.java和Sample26_3.java则可能是更基础的示例,涵盖了JTable的基本用法,如创建表格、设置列标题、添加数据,以及响应用户操作,如行选择和单元格点击事件。这些基础操作是所有JTable应用的核心。 总的来...
实例045 用数组设置JTable表格的列名与列宽 55 3.2 数组操作 57 实例046 数组的下标界限 57 实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组反转字符串 60 3.3 数组排序与查询 61 ...