java swing jtable jpopupmenu tablecolumn

java - JTable-Alternar columnas con PopupMenu(como Windows Explorer)



popup menu java netbeans (1)

¿Cómo podría crear una JTable en Swing que permita al usuario alternar columnas con un simple menú desplegable, como en las carpetas del Explorador de Windows?

Tal vez pueda probar JXTable (disponible en la biblioteca SwingX ) que se extiende desde JTable y proporciona dicha función. Este código snipet lo hace todo:

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

Captura de pantalla

Preste atención al botón de esquina superior derecha que es responsable de mostrar el menú:

¿Cómo podría crear una JTable en Swing que permita al usuario alternar columnas con un simple menú desplegable, como en las carpetas del Explorador de Windows? Mi mesa tiene 12 columnas y la pantalla no puede incluir toda la información en la pantalla a la vez. Dado que el usuario puede no necesitar ver muchas de estas columnas, esta parece ser la mejor opción.

Supongo que usaría un JPopupMenu que aparece cuando el usuario hace clic con el botón derecho en el encabezado de la tabla, con un JCheckBoxMenuItem para cada columna.

Aquí hay una captura de pantalla del bloqueador de columnas de Window que estoy tratando de replicar: