| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 09:15:55
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Olá a todos, estou desenvolvendo um componente swing chamado LookupComboBox. Ele é um combobox, porém ao invés de uma lista, ele possui uma tabela para apresentar os dados.
Para incromentar o componente, fiz também uma classe que controla o que é digitado quando o componente é editável, assim a medida que o valor é digitado, ele já é buscado na tabela, mas é ai que estou com problemas: se eu efetuo a pesquisa por um valor que não está visível na tela, ele é selecionado sem problemas, porém a barra de rolagem não "rola" até o item.
Como faço para que ocorra tal rolagem?
Alguém possui alguma sugestão?
Desde já agradeço a ajuda de todos.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 09:32:32
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Você tem duas alternativas.
1. A JTable implementa Scrollable. Você pode sobrescrever os métodos dessa interface para customizar o comportamento do seu scroll.
2. Você pode usar os comandos:
scrollPane.getVerticalScrollBar().setMaximum(tamanhoDaTabela);
scrollPane.getVerticalScrollBar().setValue(linhaDesejada);
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 09:55:32
|
fabim
GUJ Master
![[Avatar]](/images/avatar/d4e3e8180a65648886ff348c7a6bbff5.jpg)
Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline
|
manow,
abaixo segue o link de um componente, que é uma jcombobox editavel, e que a medida q vc vai digitando ela vai trazendo as ocorrências e ja rola automaticamente, do jeito q vc quer... e o fera é que usa pesquisa binaria, funciona pra ate 10.000 items sem dar 'lag'... ai vc adapta ela pra usar table inves de list...
[url]
http://www.java2s.com/Code/Java/Swing-Components/JComboBoxaddingautomaticcompletionBinayLookup2.htm
[/url]
|
ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται
Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 11:07:12
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
ViniGodoy wrote:Você tem duas alternativas.
1. A JTable implementa Scrollable. Você pode sobrescrever os métodos dessa interface para customizar o comportamento do seu scroll.
2. Você pode usar os comandos:
scrollPane.getVerticalScrollBar().setMaximum(tamanhoDaTabela);
scrollPane.getVerticalScrollBar().setValue(linhaDesejada);
Você teria algum exemplo de como posso fazer isto implementado Scrollable? Acho que esta solução se encaixaria melhor para mim. Qual dos métodos eu devo implementar para que ocorra a rolagem automática?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 18:04:18
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Irei explicar melhor o problema, para que mais pessoas possam ajudar: eu digito um valor em um campo e ele pesquisa na minha JTable, selecionando a linha que se encontra o objeto, porém quando a linha selecionada não está visível, a barra de rolagem não rola automaticamente.
Como fazer para que a barra de rolagem "acompanhe" a seleção das linhas da JTable?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/02/2007 09:01:02
|
RenataFA
Virtual Machine Man
![[Avatar]](/images/avatar/c05c903e3d997added79518f0e850026.jpg)
Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline
|
Olha, eu entendi seu problema pq já tive um parecido,,, mas não sei se te ajuda. Veja bem, no meu caso eu tinha diversos componentes dentro de um panel que estava dentro de um scrollpane,,, e ai o que acontecia é que as vezes eu jogava o foco pra um componente que não estava visível no scroll, então eu tinha que rolar o scroll pra que o componente ficasse visível na tela. Vou colocar o trecho do código de como fiz isso, tomara que ajude:
No meu caso eu uso pra diferentes telas, então eu pego o JScrollPane e o JPanel dentro dele em tempo de execução. Ah, e o objeto que chamdo de "c" é na verdade meu componente, como eu tinha mencionado, o componente que eu quero que fique visível. No meu caso ele era um combo, um textfield, check, etc,,, qq componente que pudesse estar dentro do JPanel.
T+,
|
[]'s, Renata |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2007 17:05:46
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Alguém possui mais alguma sugestão?
Nenhuma das apresentadas funcionou
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2007 18:14:02
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Problema solucionado...
Bastou adicionar o ouvinte de eventos de seleção à tabela...
Solução:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/12/2007 15:05:12
|
ricardo13
Virtual Machine Man
![[Avatar]](/images/avatar/3c34604a79b889444149f4f226868fd5.jpg)
Membro desde: 14/09/2007 10:19:03
Mensagens: 514
Localização: Mococa/São Carlos
Offline
|
ola pessoal,
tenho um problema...tenho uma JTable dentro de uma JScrollPane.
Queria saber como faço pra a cada linha inserida a barra de rolagem ir descendo ???
Muito Obrigado
Ricardo
|
/*
* Sun Certified Java Associate 1.0
* Sun Certified Java Programmer 6
* Sun Certified Web Components Development 5
* Bacharelado em Ciência da Computação - UNICEP
* Mestre em Ciência da Computação - ICMC/USP
*/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/12/2007 16:09:14
|
ricardo13
Virtual Machine Man
![[Avatar]](/images/avatar/3c34604a79b889444149f4f226868fd5.jpg)
Membro desde: 14/09/2007 10:19:03
Mensagens: 514
Localização: Mococa/São Carlos
Offline
|
ola pessoal,
utilizei o jScrollPane1.getVerticalScrollBar().setValue(table.getHeight()); e funcionou, mas esta mostrando até o penúltimo....o último ainda tem q descer com a barra de rolagem.
Alguém sabe oq posso fazer ???
Ricardo
|
/*
* Sun Certified Java Associate 1.0
* Sun Certified Java Programmer 6
* Sun Certified Web Components Development 5
* Bacharelado em Ciência da Computação - UNICEP
* Mestre em Ciência da Computação - ICMC/USP
*/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2009 20:59:40
|
MWAdriano
JavaChild
Membro desde: 06/07/2009 13:45:16
Mensagens: 119
Localização: Americana-SP
Offline
|
Nossa, essa solução do Ricardo de 2007 veio a calhar! Me quebrou um galhão hoje!! Tanto tempo depois...
to ficando viciado nesse swing!
Abraços.
|
----------------------------------------------
Adriano da Silva.
Trabalho com:
Java - NetBeans 6.9 - Swing/AWT/JDBC
PostGres
Windows e Linux(iniciante). |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2012 08:53:22
|
damghani
HelloWorld
![[Avatar]](/images/avatar/5d08c167d72e518822afb238a48bf7ce.png)
Membro desde: 07/04/2010 23:10:57
Mensagens: 14
Localização: Araraquara / SP
Offline
|
ricardo13 wrote:ola pessoal,
utilizei o jScrollPane1.getVerticalScrollBar().setValue(table.getHeight()); e funcionou, mas esta mostrando até o penúltimo....o último ainda tem q descer com a barra de rolagem.
Alguém sabe oq posso fazer ???
Ricardo
Cheguei a este tópico pelo Google, como os códigos postados aqui não funcionou segue um exemplo funcional que rola até a ultima linha criando um JScroll temporário.
Para utilizar basta invocar o método rolarScroll() após adicionar uma nova linha na JTable ou similar.
Att,
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2012 09:06:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Outra opção é usar essa classe aqui, de um tópico igualmente antigo:
http://www.guj.com.br/java/88656-movimentar-jtable#474184
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|