estou fazendo um programa simples pra empresa e gostaria de umas dicas para mim fzer algo parecido com essa imagem que busque num txt e mostre os resultados automaticamente
http://img72.imageshack.us/my.php?image=imagemqs3.jpg
Cara, não sei se é o jeito mais eficiente, devem haver outros, mas no evento do key pressed do txtField, faça a sua consulta…
Eu fiz um sistema deste modo… às vezes “lega” um pouco porque minha consulta é feita no banco de dados…
Se não for muitos dados para serem exibidos, o ideal é vc ler TODOS os dados do bd e fazer a busca em uma lista de strings mesmo, usando o método contains.
Boa sorte, abraços
[quote=arec_metafora]Cara, não sei se é o jeito mais eficiente, devem haver outros, mas no evento do key pressed do txtField, faça a sua consulta…
Eu fiz um sistema deste modo… às vezes “lega” um pouco porque minha consulta é feita no banco de dados…
Se não for muitos dados para serem exibidos, o ideal é vc ler TODOS os dados do bd e fazer a busca em uma lista de strings mesmo, usando o método contains.
Boa sorte, abraços[/quote]
Para evitar o ‘lag’ (ou melhor, transferí-lo) eu aconselho a fazer a busca e trazer para um objeto qualquer temporário no momento que a tela onde há o campo é exibida.
Mas de qqr maneira, se a busca é meio dinâmica, você vai fazer por evento mesmo.
Mas a idéia do arec_metafora é boa.
O sistema é desktop ou é web?
Eu tenho um sistema que tem isso mas em tabelas de resultados (Voce pode fazer apenas com uma coluna e ficaria igual), eu adiciona um RowSorter na tabela e tenho um campo JTextField para pesquisar e a cada vez que algo é digitado ele adiciona um RowFilter ao RowSorter.
E funciona muito bem.
Aqui está um exemplo que eu fiz para mostrar como funciona.
O código para criar essa tela foi esse:
FieldResolver<Pessoa> nome = new FieldResolver<Pessoa>(Pessoa.class,
"nome", "Nome:");
FieldResolver<Pessoa> idade = new FieldResolver<Pessoa>(Pessoa.class,
"idade", "Idade:");
SelectTable<Pessoa> table = new SelectTable<Pessoa>(
new FieldResolver[] { nome, idade }, data, true, true);
table.addObjectSelectListener(this);
table.showSelectTable();
Fora o código da classe Pessoa e um método para preencher os dados de uma lista ( o parametro ‘data’ do construtor da SelectTable)
No jar está só o executavel, essas classes eu guardo em um projeto separado, já que uso em vários outros projetos.
Quem quiser depois é só pedir.
agradeço a ajuda mas não sei como posso utilizar aqui os conselhos de vcs hehe. é que sou iniciante
Mark_Ameba gostei de sua tabela
se puder me passar as classes eu agradeço muito
Postei o novo Jar em outro tópico:
http://www.guj.com.br/posts/list/106720.java#578259
Desculpa… eu estou meio sem tempo então vou postar os fontes outra hora… mas voce pode usar desse jar
E o basico pra usar:
FieldResolver<Pessoa> nome = new FieldResolver<Pessoa>(Pessoa.class,
"nome", "Nome:");
FieldResolver<Pessoa> idade = new FieldResolver<Pessoa>(Pessoa.class,
"idade", "Idade:");
SelectTable<Pessoa> table = new SelectTable<Pessoa>(
new FieldResolver[] { nome, idade }, data, true, true);
table.addObjectSelectListener(new ObjectSelectListener(){
@Override
public void notifyObjectSelected(SelectEvent e) {
Pessoa selected = (Pessoa) e.getObject();
JOptionPane.showMessageDialog(null, "A pessoa selecionada foi: "
+ selected.getNome() + " e ela tem " + selected.getIdade()
+ " anos.");
}
}
);
table.showSelectTable();
Fora importar todos os pacotes corretos… e pelo fato do package se chamar mark.util, isso foi falta de criatividade mesmo.