今天需要把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 import javax.swing.*; import javax.swing.table.*; public class ComplexJTableExample { public static void ...
`JTable`由行和列组成,而表头(`JTableHeader`)则对应于列标题。默认情况下,`JTableHeader`中的每个单元格都显示一个列的标题,但我们可以通过自定义渲染器来改变这个行为。 1. **自定义表头渲染器**: 要创建...
本篇文章将详细介绍如何实现`JTable`表头的排序功能,并提供两种不同的实现方法。 ### 方法一:使用DefaultTableColumnModel的Comparator `DefaultTableColumnModel`是`JTable`默认使用的列模型,它支持列的排序...
而"JTable表头合并"是Swing中的一个高级特性,允许开发者创建具有复杂结构的表头,以更好地呈现和组织数据。这种功能特别适用于那些需要将相关列分组或分类的情况。 表头合并是通过`DefaultTableColumnModel`的`...
多级表头允许我们在表格的列或者行上设置多个层次的标题,以清晰地表示数据的分类和层次关系。 `JTable`本身并不直接支持多级表头,但可以通过自定义的方式实现。`jtable多级表头`的实现主要涉及到以下几个关键步骤...
跨列表头(或合并列头)的概念是将多个列的标题合并为一个大的表头单元格,通常用于表示这些列共享相同的分类或属性。例如,在一个订单管理应用中,可能有多个列与“客户”相关,如“客户ID”,“客户姓名”,“客户...
jtable 2 行表头显示功能 TableHeaderUI SimpleHashMap NewJFrame
JTable 拖动行 移动行的ui,直接 table.setUI(new DragDropRowTableUI()); 调用
重写JTable ctrl+c的内容,实现自己定制的内容输出。
当你需要对显示的数据进行控制,比如隐藏某一列,然后在特定条件下恢复显示时,这涉及到`JTable`的列管理功能。本篇文章将深入探讨如何实现这个功能。 首先,`JTable`的列是通过`TableColumnModel`对象来管理的。`...
当我们需要在JTable中实现用户交互,比如选中某一行并进行编辑时,通常会涉及到几个关键概念和技术。以下是对这些知识点的详细解释: 1. **JTable的创建与基本用法**:JTable是javax.swing.JTable类的实例,它基于...
本示例探讨如何在`JTable`中添加`CheckBox`,并实现表头的`JCheckBox`全选联动功能。这在需要用户进行多选操作的界面中非常常见,比如在列表中勾选多项进行批量操作。 首先,我们从`CheckTableModle.java`文件开始...
在给定的代码示例中,开发者尝试创建一个包含表头和数据行的`JTable`。代码中初始化了一个`Vector`对象`column`来存储表头信息,另一个`Vector`对象`rowSet`用于存储表格的数据行。每一行数据也是一个`Vector`对象,...
在标题和描述中提到的“JTable 拖动行 移动行的ui”,正是指为`JTable`添加了拖放功能的用户界面。 要实现这个功能,通常我们需要自定义`JTable`的UI,或者使用已经存在的第三方库。在描述中提到了`table.setUI(new...
标题和描述提到的`DragDropRowTableUI`是`JTable`的一种自定义用户界面(UI)实现,它扩展了`javax.swing.plaf.basic.BasicTableUI`,增加了拖放功能,使得用户可以直接通过鼠标拖动来移动`JTable`的行。 要实现`...
在Java Swing应用中,`JTable`是一...在实际开发中,你可能还需要处理一些边缘情况,比如拖动到表头或表的外部,以及优化视觉反馈,例如在拖动时高亮显示目标行。但总的来说,这个方法提供了一个快速且有效的解决方案。
为了实现`JTable`的行拖放功能,我们需要遵循以下步骤: 1. **创建自定义的Table UI**: 首先,你需要创建一个继承自`javax.swing.plaf.TableUI`的类,例如`DragDropRowTableUI`。在这个类中,你需要覆盖父类的...
主要代码: DefaultTableModel model = (DefaultTableModel) table.getModel(); model.setColumnIdentifiers(new String[] {"标题一", "标题二", "标题三"});
4. **隐藏/显示行**:尽管`JTable`没有直接的隐藏行方法,但可以通过修改`TableModel`的数据或使用`JScrollPane`的`setRowHeaderView()`来实现类似效果。 5. **排序行**:`JTable`本身不支持排序,但可以结合`...