Puxar dados de um banco de dados para uma tabela

Boa Tarde!

Pessoal é o seguinte. Tenho um cadastro que deve funcionar assim…

tem um combobox e um textfield, baseado nos dados dos dois elementos, deve ser realizada uma busca em um BD (SQL) e apresentar os dados em uma tabela. Não estou conseguindo…

Segue o codigo…

class PanelLocalizar extends JPanel{
		
		JComboBox cbSelecao1;
		JTextField tfSelecao1;
		/**
		 * 
		 */
		private static final long serialVersionUID = 3257847675411183155L;
		
		
		public PanelLocalizar() {
			this.setLayout(new BorderLayout(3, 1));
			//this.add(new JLabel("Prencha os dados abaixo"), BorderLayout.NORTH);
			
			//Montagem do panel para insercao de dados
			pLocalizarDados = montaPanelLocalizarDados();
			//Montagem da tabela de busca de dados
			pTabelaDados = montaTabelaDados();
			//Montagem do panel com botoes para localizar e abrir cadastros       
			pBotoesLocalizarDados = montaPanelBotoesLocalizar();
		
			this.add(pLocalizarDados, BorderLayout.NORTH);
			this.add(pTabelaDados, BorderLayout.CENTER);
			this.add(pBotoesLocalizarDados, BorderLayout.SOUTH);
			
		}
				
				private JPanel montaPanelBotoesLocalizar() {
			// TODO Auto-generated method stub
			JPanel pBotoesLocalizarDados = new JPanel();
			
			bLocalizar2 = new JButton("Localizar Cadastro");
			bLocalizar2.setMnemonic(KeyEvent.VK_L);
			bLocalizar2.addActionListener(new Localizar2Handler());
			bAbrir = new JButton("Abrir Cadastro");
			bAbrir.setMnemonic(KeyEvent.VK_A);
			//bAbrir.addActionListener(new AbrirHandler());
			
			pBotoesLocalizarDados.add(bLocalizar2);
			pBotoesLocalizarDados.add(bAbrir);
			
			
			return pBotoesLocalizarDados;
		}
		
		private JPanel montaTabelaDados(){
			JPanel pTabelaDados = new JPanel();
			
			tTabela = new JTable(new MeuModeloTabela());
			tTabela.setPreferredScrollableViewportSize(new Dimension(773, 395));
			tTabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
			scrollTabela = new JScrollPane(tTabela);
			scrollTabela.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
			scrollTabela.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
			pTabelaDados.add(scrollTabela);
			System.out.println("entrou");
			
			return pTabelaDados;
			
		}
		
		public class MeuModeloTabela extends AbstractTableModel{
			/**
			 * 
			 */
			private static final long serialVersionUID = 4050484512708178996L;
			
			private String[] columnNames = {"Modulo", "Carro", "Garagem", "Telefone", "Operadora",
					"Data de Instalação", "Ultima Transmição", "AVL", "TD", "Bateria", 
					"Microfone", "Alto-Falante", "Botão de Pânico",	"Antena de GPS", 
					"Antena de GPRS", "Suporte para TD", "Caixa Proteção"
			};
			
			private Object[][] dados={
					{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"},
			};
			
			public int getColumnCount(){
				return columnNames.length;
			}
			
			public int getRowCount() {
				return dados.length;
			}
			
			public String getColumnName(int col){
				return columnNames[col];
			}
			
			public Object getValueAt(int row, int col) {
				return dados[row][col];
			}
			
			public boolean isCellNotEditable(int row, int col)
			{
				if (col < 0)
					return false;
				else
					return true;
			}
			
		}
		
		
		/**
		 * @return
		 */
		private JPanel montaPanelLocalizarDados() {
			// TODO Auto-generated method stub
			
			JPanel pLocalizarDados = new JPanel();
			GridLayout layout = new GridLayout(4, 1);
			pLocalizarDados.setLayout(layout);
			
			cbSelecao1 = new JComboBox();
			tfSelecao1 = new JTextField("", 10);
			
			pLocalizarDados.add(new JLabel("Escolha qual campo buscar:"));
			pLocalizarDados.add(cbSelecao1);
			pLocalizarDados.add(new JLabel("Digite o que buscar:"));
			pLocalizarDados.add(tfSelecao1);
			
			
			cbSelecao1.addItem("Modulo");
			cbSelecao1.addItem("Carro");
			cbSelecao1.addItem("Garagem");
			cbSelecao1.addItem("Telefone");
			cbSelecao1.addItem("Operadora");
			cbSelecao1.addItem("Data de instalação");
			cbSelecao1.addItem("Ultima Transmição");
			cbSelecao1.addItem("AVL");
			cbSelecao1.addItem("TD");
			cbSelecao1.addItem("Bateria");
			cbSelecao1.addItem("Microfone");
			cbSelecao1.addItem("Alto Falante");
			cbSelecao1.addItem("Botão de Pânico");
			cbSelecao1.addItem("Antena GPS");
			cbSelecao1.addItem("Antena GPRS");
			cbSelecao1.addItem("Suporte TD");
			cbSelecao1.addItem("Caixa de Proteção");
			
			
			return pLocalizarDados;
		}
		
		class Localizar2Handler implements ActionListener{
			
			String textoAProcurar = tfSelecao1.getText();
			int ondeProcurar = cbSelecao1.getSelectedIndex();
			
			public void actionPerformed(ActionEvent e) {
				// TODO Stub de método gerado automaticamente
				if(e.getSource()==bLocalizar2)
					try {
						Localizar2();
					} catch (AtechException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					
			}
			
			public void Localizar2() throws AtechException{
				
				String sql = "SELECT * FROM carros WHERE colunas = ondeProcurar" 
							+ "AND dados LIKE = %textoAProcurar%";
				Connection conn = null;
				Statement stmt = null;
				ResultSet result = null;
				
				try{
					if(result!=null){
						ResultSetMetaData metaData = result.getMetaData();
						int numColunas =  metaData.getColumnCount();
						Vector colunas = new Vector();
						boolean adiciona = true;
						for(int column = 0; column < numColunas; column++){
							colunas.addElement(metaData.getColumnLabel(column+1));
						}
						Vector linhas = new Vector();
						result.beforeFirst();
						while (result.next()){
							Vector novaLinha = new Vector();
							for (int i = 1; i <= metaData.getColumnCount(); i++){
								novaLinha.addElement(result.getObject(i));
							}
							linhas.addElement(novaLinha);
						}
						setModel(new DefaultTableModel(linhas, colunas));
						//setModel(MeuModeloTabela(), new MeuModeloTabela());
					}
				}
				catch(AtechException ex){
					ex.printStackTrace();
				}
			}
		}
		public Object retornaValor(int linha, int coluna) {
			return this.getModel().getValueAt(linha, coluna);
		}
}

E não indica erro nenhum…

Valeu…

tem certeza q não estoura exception nenhuma? :roll: