Jtable

9 respostas
W

Ola e que to fazendo um jtable ai eu ja consegui quando aperto no botao pesquisa mostrar o que ja ta armazenado no banco agora queria quando eu escrever no textfield e aperta no botao pesquisa so mostrar o que eu escrevi alguem sabe se tem algum tutorial ensinando isso.Obrigado.

9 Respostas

danielso2007

Esse exemplo deve ajudar:

http://download.oracle.com/javase/tutorial/uiswing/components/table.html Em Sorting and Filtering.

Outro exemplo:

public class Teste {
	
	public static void main(String args[]) {
		JFrame frame = new JFrame("Regexing JTable");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Object rows[][] = { { "A", "About", 44.36 }, { "B", "Boy", 44.84 },
				{ "C", "Cat", 463.63 }, { "D", "Day", 27.14 },
				{ "E", "Eat", 44.57 }, { "F", "Fail", 23.15 },
				{ "G", "Good", 4.40 }, { "H", "Hot", 24.96 },
				{ "I", "Ivey", 5.45 }, { "J", "Jack", 49.54 },
				{ "K", "Kids", 280.00 } };
		String columns[] = { "Symbol", "Name", "Price" };
		TableModel model = new DefaultTableModel(rows, columns) {
			public Class getColumnClass(int column) {
				Class returnValue;
				if ((column >= 0) && (column < getColumnCount())) {
					returnValue = getValueAt(0, column).getClass();
				} else {
					returnValue = Object.class;
				}
				return returnValue;
			}
		};

		final JTable table = new JTable(model);
		final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(
				model);
		table.setRowSorter(sorter);
		JScrollPane pane = new JScrollPane(table);
		frame.add(pane, BorderLayout.CENTER);

		JPanel panel = new JPanel(new BorderLayout());
		JLabel label = new JLabel("Filter");
		panel.add(label, BorderLayout.WEST);
		final JTextField filterText = new JTextField("A");
		panel.add(filterText, BorderLayout.CENTER);
		frame.add(panel, BorderLayout.NORTH);
		JButton button = new JButton("Filter");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String text = filterText.getText();
				if (text.length() == 0) {
					sorter.setRowFilter(null);
				} else {
					sorter.setRowFilter(RowFilter.regexFilter(text));
				}
			}
		});
		frame.add(button, BorderLayout.SOUTH);
		frame.setSize(300, 250);
		frame.setVisible(true);
	}

}
Anime

Oi

Se entendi vc quer isso:

Retornar todos os registro que tem sobre nome Silva.
SELECT * FROM Tabela1 WHERE Nome LIKE ‘%Silva%’

Outros exemplos:

Retorna todos os registros que possuam a string João no início do campo:
WHERE Nome LIKE ‘%João’
Retorna todos os registros que possuam a string João no final do campo:
WHERE Nome LIKE ‘João%’

http://acervobrasil.blogspot.com/2008/10/apostila-java-2-com-banco-de-dados.html

W

isso mesmo to fazendo no netbeans mais nao sei se faz no textfield ou dentro do botao pesquisa para fazer a pesquisa

Anime

Vai no botão que quer usar e clique com o botão direito do mouse,escolha eventos e após actionPerformed…No código vai aparecer o botão com o evento,ai é só colocar o código …

Exemplo:

("select * from TB_cliente where nome like '"+tf_pesquisar.getText()+"%'");
W

criei um metodo assim oh dar erro nao da para fazer a pesquisa

public void listarContatos() throws SQLException{
        ContatosDao dao = new ContatosDao();
        tabela = (JTable) dao.getLista("%"+jPesquisa.getText()+"%");
        
    }
Anime

Oi wire ,

Baixe a apostila do link que eu indique acima,vc pode pesquisar aq no forum tb… :wink:

W

blz

Anime
wire:
criei um metodo assim oh dar erro nao da para fazer a pesquisa
public void listarContatos() throws SQLException{
        ContatosDao dao = new ContatosDao();
        tabela = (JTable) dao.getLista("%"+jPesquisa.getText()+"%");
        
    }

Você fez como eu te indiquei no botão para realizar a pesquisa?
Tb não usou o like...Tente usando o like e aspas simples ' '...

W

Coloquei o o select tudo certinho mas da erro ainda dentro do metodo do botao pesquisa tem o metodo que botei para mostrar tudo.

private void jPesquisaActionPerformed(java.awt.event.ActionEvent evt) {                                          
        mostrarTabela();
    }

ai eu boto o select dentro do metodo da pesquisa mais da erro na linha do select nao sei o que fazer

("select *from livro where nome like = ?"+jPesquisa.getText()+"%");

Obrigado por responder.

Criado 30 de outubro de 2010
Ultima resposta 31 de out. de 2010
Respostas 9
Participantes 3