java - JTable - 使用 PopupMenu 切换列(如 Windows 资源管理器)

标签 java swing jtable jpopupmenu tablecolumn

我如何在 Swing 中创建一个 JTable,允许用户使用简单的下拉菜单切换列,就像在 Windows 资源管理器文件夹中一样?我的表格有 12 列,屏幕无法一次显示所有信息。由于用户可能不需要查看其中许多列,因此这似乎是最佳选择。

我假设它将使用当用户右键单击表标题时出现的 JPopupMenu,每列都有一个 JCheckBoxMenuItem

这是我尝试复制的 Window 列切换器的屏幕截图: enter image description here

最佳答案

How would I go about creating a JTable in Swing that allows the user to toggle columns with a simple dropdown meun, like in Windows Explorer folders?

也许你可以尝试JXTable(在SwingX库中可用),它扩展自JTable并提供这样的功能。此代码片段完成了这一切:

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

屏幕截图

注意右上角负责显示菜单的按钮:

enter image description here

关于java - JTable - 使用 PopupMenu 切换列(如 Windows 资源管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22417797/

相关文章:

Java JTextPane 斜体帮助

java - 我想知道如何在eclipse中的java项目上使用延迟来使用绘图组件

java - 在 Java 中的 JTable 列中显示条形图

java - 如何让 Hibernate 在与 JPA 一起使用时自动在数据库中创建表?

java - 消息 -"could not read a hi value - you need to populate the table: hibernate_sequence"

java - AtomicInteger.updateAndGet() 和 AtomicInteger.accumulateAndGet() 之间在功能上有什么区别吗?

java - 编辑 JTable 后获取选定的行和列

java - 使用 java.sql.Date 从当前日期添加 1 个月

java - Eclipse RCP 中的 JInternalFrame 替代方案

java - 如何在默认表模型上添加行