【问题标题】:JTable - Toggle Columns with PopupMenu (like Windows Explorer)JTable - 使用 PopupMenu 切换列(如 Windows 资源管理器)
【发布时间】:2014-04-20 11:59:33
【问题描述】:
我将如何在 Swing 中创建一个 JTable,允许用户使用简单的下拉菜单切换列,例如在 Windows 资源管理器文件夹中?我的表格有 12 列,屏幕无法同时显示屏幕上的所有信息。由于用户可能不需要查看这些列中的许多列,因此这似乎是最佳选择。
我假设它会使用JPopupMenu,当用户右键单击表格标题时出现,每列都有一个JCheckBoxMenuItem。
这是我尝试复制的 Window 列切换器的屏幕截图:
【问题讨论】:
标签:
java
swing
jtable
jpopupmenu
tablecolumn
【解决方案1】:
我将如何在 Swing 中创建一个允许用户使用的 JTable
使用简单的下拉菜单切换列,例如在 Windows 中
资源管理器文件夹?
也许您可以尝试从JTable 扩展并提供此类功能的JXTable(在SwingX 库中可用)。这段代码可以做到这一切:
DefaultTableModel model = new DefaultTableModel(new Object[]{"Column # 1", "Column # 2", "Column # 3","Column # 4"}, 10);
JXTable table = new JXTable(model);
table.setColumnControlVisible(true); // this added with JXTable
截图
注意右上角负责显示菜单的按钮: