JTable - alterna colunas com o PopupMenu (como o Windows Explorer)

Como eu criaria uma JTable no Swing que permite ao usuário alternar colunas com um menu suspenso simples, como nas pastas do Windows Explorer? Minha tabela possui 12 colunas e a tela não pode caber todas as informações na tela de uma só vez. Como o usuário pode não precisar ver muitas dessas colunas, essa parece ser a melhor opção.

Eu suponho que usaria umJPopupMenu que aparece quando o usuário clica com o botão direito do mouse no cabeçalho da tabela, com umJCheckBoxMenuItem para cada coluna.

Aqui está uma captura de tela do alternador de colunas do Windows que estou tentando replicar:

questionAnswers(1)

yourAnswerToTheQuestion