Porque o getSelectedRow() no jtable sempre retorna -1 (menos um) ? - Resolvida

int c = jtGrade.getSelectedColumn();

int r = jtGrade.getSelectedRow();

tanto c quanto r ,sempre retornam -1 em qualquer célula do jtable.

???

Pq não tem nenhuma linha selecionada.

http://download.oracle.com/javase/6/docs/api/javax/swing/JTable.html#getColumnCount()

Acredito que quando estou clicando com o mouse sobre uma célula, eu estou selecionando a mesma. Ou estou errado ?


jtGrade.addMouseListener(this);

@Override
public void mouseClicked(MouseEvent e) {

	int t = jtGrade.getSelectedColumn();
	Menu.mostraMensagem("coluna" + t,1);
	
	t = jtGrade.getSelectedRow();
	Menu.mostraMensagem("linha" + t,1);

	
}

ao disparar o evento mouseClicked, quando clico na célula, sempre recebo -1 como retorno

na sua classe principal está realmete implementado MouseListener ?
se aparece -1, a tabela existe e foi criada, mas como é -1, significa q nenhuma linha está selecionada.

Poste seu código. Provavelmente você está chamando getSelectedRow() numa tabela, e exibindo outra. Certifique-se que você não fez 2 “new” por engano.

Matei a charada. Depois de muito olhar o código, descobri o erro

estava adicionando as informações preenchendo as linhas da grade, antes de adicionar a grade ao scrollpane.

Criava a TableModel, criava o JTable , preenchia o JTable e só depois adicionava ao ScrollPane.

Quando adicionei a JTable ao ScrollPane e depois adicionei as linhas, aí deu certo, consegui ter valores corretos no getSelectedRow e getSelectedCol.

Mesmo assim, muito obrigado pela ajuda.

tem q mudar o titulo do topico

mudei o titulo no ultimo post, achando que mudaria no título do tópico. Foi mau, desculpe.