JTable + AbstractModel - Como obter o objeto selecionado no DoubleClick

4 respostas
R

Olá grande nação…

estou aqui novamente com uma duvida…
Estou procurando um código que ao usuário dar doubleclick num jtable, eu consigo obter o objeto selecionado no abstractModel…

4 Respostas

B

Ola,

Vc usa um MouseListener, pelo metodo mouseClicked vc tem um MouseEvent, pega a quantidade de cliques, getClickCount(), se for dois, vc pergunta a JTable que linha que foi clicada (JTable.rowAtPoint(Point point)), pelo ponto do evento do mouse, getPoint(), e atraves disto vc pode pegar o que esta na linha… pelo getValueOf ou criando um metodo que recupere o objeto inteiro, sobrescrevendo o modelo da tabela.

R

Poderia montar o código que faz tudo isso, por favor… caso você tenha

R

Consegui montar o código, ficou assim:

this.tabela.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if (e.getClickCount() == 1) {
                    objeto = (Identificavel) model.getValueAt(tabela.rowAtPoint(e.getPoint()), 99);
                    notifyObservers(objeto);
                    dispose();
                }
            }
        });
B

Isto ae,

Só uma observação, na linha if (e.getClickCount() == 1) { vc não queria tratar isto no duplo-cique? então… só colocar 2, assim:if (e.getClickCount() == 2) {

Criado 11 de junho de 2008
Ultima resposta 16 de jun. de 2008
Respostas 4
Participantes 2