2 componentes numa celula

7 respostas
M

Olá, preciso colocar um jtextfield e um jbutton numa mesma célula da jtable, alguém pode me ajudar ?
Já consegui colocar só o jbutton e só o jtextfield, usando celleditor, mas 2 componentes não dá certo.
Obrigado

7 Respostas

davidtiagoconceicao

Crie um Renderer e, para as células desejadas, crie um JPanel, adicione os componentes neste panel e retorne ele como componente da célula.
Pesquise sobre isso, vai encontrar bastate coisa.

M

no renderer ???
mas preciso somente na hora de editar o campo, no editor
no render vai ficar apenas o textfield …

davidtiagoconceicao

Não entendi, você quer que somente quando entrar em modo de edição o field e o button sejam exibidos?

M

aham
exatamente
apenas no editor mostra o button e o textfield
no renderer so o textfield, que já consegui fazer já …
falta so o editor mesmo

davidtiagoconceicao

Aah tah. Podia ter dito desde o começo :lol:
Bem, nunca fiz nada semelhante. Geralmente faço a edição diretamente na JTable, salvando ao sair do campo ou com botões fora da JTable. Ou faço a edição em um panel à parte.
Sugestões que te dou são verificar os métodos isEditing() e getCellEditor() da classe JTable e a interface TableCellEditor.
Eles provavelmente têm o que você precisa.
Uma outra alternativa mais gabiosa de fazer isso seria setar alguma informação no evento de duplo clique da JTable e no Renderer recuperar esta informação.

M

deu certo pessoal
criei um jpanel, adicionei o textfield e o button ao jpanel, e depois o jpanel a celula da tabela
funciona bonito
obrigado

davidtiagoconceicao

Beleza! 8)
Qualquer dúvida poste ai!

Criado 16 de dezembro de 2008
Ultima resposta 16 de dez. de 2008
Respostas 7
Participantes 2