Selecionar Linhas JTable para CtrlC e CtrlV

Pessoal bom dia!

Como faço pra poder deixar que minhas linhas da JTable fiquem “selecionaveis”, ou seja o usuario consiga clicar nela pra poder copiar e colar os dados contidos nela?

[quote=evertonsilvagomesjava]Pessoal bom dia!

Como faço pra poder deixar que minhas linhas da JTable fiquem “selecionaveis”, ou seja o usuario consiga clicar nela pra poder copiar e colar os dados contidos nela?[/quote]

Coloca um default cell editor de sua preferencia, algo mais ou menos assim

jTable1.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new o-componente)

[quote=pintofree][quote=evertonsilvagomesjava]Pessoal bom dia!

Como faço pra poder deixar que minhas linhas da JTable fiquem “selecionaveis”, ou seja o usuario consiga clicar nela pra poder copiar e colar os dados contidos nela?[/quote]

Coloca um default cell editor de sua preferencia, algo mais ou menos assim

jTable1.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new o-componente)[/quote]

eita nao entendi =/

Você diz copiar com CTRL+C e ele poder dar CTRL+V no Excel, por exemplo?

Isso mesmo Vini!!

Se as linhas tiverem selecionadas, você deve usar o TransferHandler do seu JTable e a classe Clipboard:

TransferHandler th = suaTable.getTransferHandler(); if (th != null) { Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); th.exportToClipboard(suaTable, cb, TransferHandler.COPY); }

Aliás, dá uma lida nesse artigo aqui: http://www.devx.com/Java/Article/22326

E nesse: http://www.javaworld.com/javaworld/javatips/jw-javatip77.html

Vou ler agora Vini vlw. Mas vendo aqui, isso seria pra transferir os dados, mas para poder “selecionar as linhas do JTable” seria do mesmo modo? Porque eu clicando em uma linha e dando ctrlc e ctrlv ja ta copiando sem eu mesmo ter feito nada, porem eu queria selecionar todas linhas ou seja toda á jTable pra copiar todas linhas de uma vez.

Ah bom, se vc quiser só um botãozinho de “selecionar tudo” na sua tabela, basta usar o método selectAll() do próprio JTable:

seuTable.selectAll();

[quote=ViniGodoy]Ah bom, se vc quiser só um botãozinho de “selecionar tudo” na sua tabela, basta usar o método selectAll() do próprio JTable:

seuTable.selectAll();

Humm seria isso porem era pra selecionar com o Mouse, por que ai se o usuario quiser selecionar “duas celulas” por exemplo ele conseguiria mas do mesmo jeito se ele quisesse selecionar “duas linhas” conseguiria do mesmo jeito, mas se num tiver como esse selectAll() ja vai me ajudar.

Aqui tem vários tipos de seleção.
http://www.exampledepot.com/egs/javax.swing.table/Sel.html

Como seria feita a seleção pelo mouse? Pq por padrão, clicar numa célula e arrasta-la pela tabela já faz a seleção sobre a tabela:

[quote=ViniGodoy]Aqui tem vários tipos de seleção.
http://www.exampledepot.com/egs/javax.swing.table/Sel.html

Como seria feita a seleção pelo mouse? Pq por padrão, clicar numa célula e arrasta-la pela tabela já faz a seleção sobre a tabela:[/quote]

A seleçao seria feita igual a seleçao do Excel mesmo clicando e arrastando em qualquer lugar da JTable.

Ué, e por padrão não é assim? :shock:

Podia jurar que era.

Ué, e por padrão não é assim? :shock:

Podia jurar que era.[/quote]

Quando eu clico em alguma celula e arrasto nao aparece o sombreamento de seleçao, é como se eu fosse mover a celula de um lugar para outro ao invez de selecionar.