MouseListener (Botão esquerdo/direito) RESOLVIDO

Olá galera,

Seguinte, tenho uma tabela, onde cada célula representa um ramal. Desejo com o click do botão esquerdo do mouse pegar o “ramal de origem” e com o click do botão direito do mouse pegar o “ramal de destino”. Esses valores (ramal de origem e destino) eu guardo em um array estático. O problema que está ocorrendo é que com
e.getButton() == e.BUTTON1 e e.getButton() == e.BUTTON3 ele pega os mesmos valores. Curioso que que eu colocar e.getButton() == e.BUTTON1 e e.getButton() == e.BUTTON1 também, ele pega os valores corretos.

jTable.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    // Ramal de Origem
                    if (e.getButton() == e.BUTTON1) {
                        // Liberando a posição do buffer
                        ListaGruposRamaisForm.bufferRamais[0] = "";

                        // Pegando a posição na tabela do ramal
                        int col = jTable.getSelectedColumn();
                        int row = jTable.getSelectedRow();

                        // Pegando o valor desse ramal
                        Object ramalOrig = tableModel.getValueAt(row, col);

                        // Pegando apenas o número do ramal
                        ListaGruposRamaisForm.bufferRamais[0] = ramalOrig.toString().substring(14, 18);
                    }

                    //  Ramal de Destino
                    if (e.getButton() == e.BUTTON3) {
                        // Liberando a posição do buffer
                        ListaGruposRamaisForm.bufferRamais[1] = "";

                        // Pegando a posição na tabela do ramal
                        int col = jTable.getSelectedColumn();
                        int row = jTable.getSelectedRow();

                        // Pegando o valor desse ramal
                        Object ramalDest = tableModel.getValueAt(row, col);

                        // Pegando apenas o número do ramal
                        ListaGruposRamaisForm.bufferRamais[1] = ramalDest.toString().substring(14, 18);

                        System.out.println("Discando de: " + ListaGruposRamaisForm.bufferRamais[0] +
                                " Para: " + ListaGruposRamaisForm.bufferRamais[1]);                        
                    }
                }
            });

O problema é que o click com o botão3 do mouse não seleciona uma nova célula,
A célula que vc está pegando continua sendo a mesma que foi selecionada com o botão1 do mouse.

Tente pegar a coluna e a linha utilizando as linhas abaixo:
int col = jTable.columnAtPoint(e.getPoint()) ;
int row = jTable.rowAtPoint(e.getPoint());

Falou…

Valeu zongman! Era isso mesmo! Obrigado :wink: