JTable:如何在运行时选择列

时间:2010-07-05 15:01:18

标签: java swing jtable

我在表格中有太多列可以同时显示所有列,并且希望让用户更改哪些列可见。我怎么能这样做?

注意:很容易让应用程序在运行时选择列。我要问的是要添加的UI元素允许用户在运行时隐藏/取消隐藏列。

5 个答案:

答案 0 :(得分:1)

Table Column Manager允许用户右键单击表标题以控制哪些列可见。

答案 1 :(得分:1)

如果您可以导入一些外部库,您可以查看 http://swinglabs.org/docs/components/JXTable/tutorial.jsp支持此类运行时修改。

答案 2 :(得分:0)

没有标准的方法,但你可以做的是这样的事情:

  1. 使用自定义表头呈现组件在列标题上安装其他操作/ UI(例如,通过复选框的上下文菜单)
  2. 添加自定义模型,您可以重新配置该模型以根据用户通过列标题上的其他操作选择的内容显示不同的项目
  3. 做事件布线/管道。
  4. 或者:找到执行此操作的自定义组件。可能已经有了一些东西:像JIDE的组件库这样的项目是个好看的地方。

答案 3 :(得分:0)

使用TableModel.addColumn(TableColumn)和TableModel.removeColumn(TableColumn)方法即时显示/隐藏列。

您可以将该调用附加到任何其他GUI组件(例如,使用一些复选框创建JPanel或JTable)。

答案 4 :(得分:0)

当用户右键单击标题时显示带有可能列的弹出菜单,或者使用复选框列表实现一个小(和亮)弹出对话框以选择可见列。右键单击,单击工具栏按钮或从工具栏菜单中打开对话框。