Bloquear troca de colunas de lugar em JTable

Bom dia pessoal estou fazendo a seguinte JTable:

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;


public class Tabela extends JFrame{
	
	public Tabela(){
		super("Tabela");
		
		String[] colunas = new String[2];
		String[][] dados = new String[2][2];
		
		colunas[0] = "coluna1";
		colunas[1] = "coluna2";
		
		dados[0][0] = "1-1";
		dados[0][1] = "1-2";
		
		dados[1][0] = "2-1";
		dados[1][1] = "2-2";
		
	    JTable table = new JTable(dados, colunas);	    
	    
	    JScrollPane scrollpane = new JScrollPane(table);
	    
	    this.getContentPane().add(scrollpane);
	    this.setSize(300,100);
	    this.setVisible(true);
	    
	}
    
    public static void main(String[] args){
    	Tabela t = new Tabela();
    	t.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

}

e eu gostaria de saber se existe alguma forma d eu bloquear a troca d colunas qdo clico e arrasto. Exemplo:

clico na coluna2 e arrasto pra esquerda e ela assume o lugar da coluna1 q vai para a direita.

tem algum metodo pra nao deixar arrastar??

valeu!

abraco!!

Toda JTable tem um JTableHeader associado, que você pode obter com o método getTableHeader(). Você pode setar a propriedade “reorderingAllowed” nesse Table Header para “false”.

Resumindo:

table.getTableHeader.setReorderingAllowed (false);

1 curtida

Kra funcionou!!

valeu!!