Proplemas com eventos

7 respostas
G

Opa tudo bem pessoal to com um problema aqui que eu n consigo resolver :S
é ao clicar em um botão o evento dele da um erro

ERRO QUE DA :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at JanelaAdmConsultaFiltro.selecionaFiltros(JanelaAdmConsultaFiltro.java:268)
	at JanelaAdmConsultaFiltro$EntraBotaoPesquisarClick.actionPerformed(JanelaAdmConsultaFiltro.java:254)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at JanelaAdmConsultaFiltro.selecionaFiltros(JanelaAdmConsultaFiltro.java:268)
	at JanelaAdmConsultaFiltro$EntraBotaoPesquisarClick.actionPerformed(JanelaAdmConsultaFiltro.java:254)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Este é o meu codigo n sei se vai ajudar muito mais ta ai

import java.awt.Color;
import java.awt.Desktop;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JDesktopPane;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.border.Border;
import javax.swing.text.MaskFormatter;

import sun.awt.FontConfiguration;


public class JanelaAdmConsultaFiltro extends JFrame{
	
	JDesktopPane recebeMenu,recebeTabela;
	Border bordaPreta;
	Color corCinza;
	Font FonteBlue;
	
	
	JButton botaoPesquisar,botaoCancelar,botaoLimpar;
	JTextField BuscaPeriodoFinal;
	JComboBox BuscaLocal,BuscaUsuario,BuscaEstado,BuscaTecnico;
	MaskFormatter   formataData = null;
	MaskFormatter formataId  = null;
	JTextField BuscaId;
	UseJCalendar DataInicio;
	UseJCalendar DataFinal;
	JDesktopPane recebeDesktop;
	 JTable tabela = new JTable();
	
	
	void entraNoFiltro(JDesktopPane JanelaPrincipal){
		
		JanelaPrincipal.removeAll();
		recebeDesktop = JanelaPrincipal;
		bordaPreta = BorderFactory.createLineBorder(Color.black);
		corCinza = new Color(238,233,233);
		
	
		try {   
			formataData = new MaskFormatter("##/##/####");   
			formataId = new MaskFormatter("##############");  
			   
	    } catch (java.text.ParseException e) {   
	      System.out.println("Erro ao formar data."); 
	    }
		
		
	    String[] recebeUsuario = new JanelaAdmConsultaFiltro().pegaCombobox(new JanelaAdmConsultaFiltro().pegaTamanhoComboBox("nome","Login"),"nome","Login");
		String[] recebeTecnico = new JanelaAdmConsultaFiltro().pegaCombobox(new JanelaAdmConsultaFiltro().pegaTamanhoComboBox("tecnico","Tecnico"),"tecnico","Tecnico");
		
	//Componetens linha grafica;
		JLabel textoGrafico = new JLabel("Consultas por Filtros");
		textoGrafico.setOpaque(true);   
		textoGrafico.setBackground(corCinza);
		textoGrafico.setForeground(Color.blue);
		textoGrafico.setBounds(10, 10, 730, 15);
		
		
	//Componentes do Id
		JLabel textoId = new JLabel("Id:");
		textoId.setBounds(10,30,100,20);
		BuscaId = new JTextField(new LimitadorTexto(14), "", 1);  
 
	
		
		BuscaId.setBorder(bordaPreta);
		BuscaId.setBounds(70, 30, 100, 20);
		
		
	//Componentes da Data
		JLabel textoDataInicial = new JLabel("Período:");
		textoDataInicial.setBounds(360, 30, 100, 20);
		
		JLabel textoDataFinal = new JLabel("até");
		textoDataFinal.setBounds(524, 30, 100, 20);
	
	
	//Componentes de Usuário	
		JLabel textoUsuario = new JLabel("Usuário:");
		textoUsuario.setBounds(10,60 , 100, 20);
		
		BuscaUsuario = new JComboBox(new JanelaAdmConsultaFiltro().comparaTecnicoUsuario(recebeUsuario,recebeTecnico));
		BuscaUsuario.setBounds(70,60 , 270, 20);
	
		
	//Componentes de Local	
		JLabel textoLocal = new JLabel("Local:");
		textoLocal.setBounds(10,90 , 100, 20);
		
		BuscaLocal = new JComboBox(new JanelaAdmConsultaFiltro().pegaCombobox(new JanelaAdmConsultaFiltro().pegaTamanhoComboBox("local","Local"),"local","Local"));
		BuscaLocal.setToolTipText("Escolha o local de origem");
		BuscaLocal.setBounds(70, 90, 270, 20);
		
	
	//Componentes de Estado	
		JLabel textoEstado = new JLabel("Estado:");
		textoEstado.setBounds(360,60,100,20);
		
		BuscaEstado = new JComboBox(new JanelaAdmConsultaFiltro().pegaCombobox(new JanelaAdmConsultaFiltro().pegaTamanhoComboBox("estado","Estado"),"estado","Estado"));
		BuscaEstado.setBounds(420, 60, 270, 20);
		
	
	//Componentes de Técnico	
		JLabel textoTecnico = new JLabel("Técnico:");
		textoTecnico.setBounds(360, 90, 100, 20);
		
		BuscaTecnico = new JComboBox(recebeTecnico);
		BuscaTecnico.setBounds(420, 90, 270, 20);
		
		
		
	//Componete Linha Grafica recebeBusca
		JLabel textoGraficoResultado = new JLabel("Dados");
		textoGraficoResultado.setOpaque(true);   
		textoGraficoResultado.setBackground(corCinza);
		textoGraficoResultado.setForeground(Color.blue);
		textoGraficoResultado.setBounds(10, 10, 730, 15);
		
	//Os dois Desktops	
		recebeMenu = new JDesktopPane();
		recebeMenu.setBorder(bordaPreta);
		recebeMenu.setBounds(10, 10, 750, 150); 
		
		
		recebeTabela = new JDesktopPane();
		recebeTabela.setBorder(bordaPreta);
		recebeTabela.setBounds(10, 180, 750, 300);
		
    //Calendario
		
		new UseJCalendar().criaCalendario(recebeMenu);
		
		
	//Botões
		
		botaoPesquisar = new JButton("Pesquisar");
		botaoPesquisar.setBounds(10,120,100,20);
		
		botaoLimpar = new JButton("Limpar");
		botaoLimpar.setBounds(120,120,100,20);
		
		botaoCancelar = new JButton("Sair");
		botaoCancelar.setBounds(230,120,100,20);
		
		
	//Adiciona os componentes aos Desktop	
		recebeMenu.add(textoGrafico);
		recebeMenu.add(textoId);
		recebeMenu.add(BuscaId);
		recebeMenu.add(textoDataInicial);
		recebeMenu.add(textoDataFinal);
		recebeMenu.add(textoUsuario);
		recebeMenu.add(BuscaUsuario);
		recebeMenu.add(textoLocal);
		recebeMenu.add(BuscaLocal);
		recebeMenu.add(textoEstado);
		recebeMenu.add(BuscaEstado);
		recebeMenu.add(textoTecnico);
		recebeMenu.add(BuscaTecnico);
		recebeMenu.add(botaoPesquisar);
		recebeMenu.add(botaoLimpar);
		recebeMenu.add(botaoCancelar);
		recebeTabela.add(textoGraficoResultado);
		
		JanelaPrincipal.add(recebeMenu);
		JanelaPrincipal.add(recebeTabela);
		JanelaPrincipal.updateUI();
		
	//Ações dos botões
	//Evento Enter	   
	EntraBotaoPesquisar  action1 = new EntraBotaoPesquisar();
		BuscaId.addKeyListener(action1);
		BuscaUsuario.addKeyListener(action1);
		BuscaLocal.addKeyListener(action1);
		BuscaEstado.addKeyListener(action1);
		BuscaTecnico.addKeyListener(action1);
		botaoPesquisar.addKeyListener(action1);
	
		
		
	EntraBotaoPesquisarClick action2 = new EntraBotaoPesquisarClick();
	botaoPesquisar.addActionListener(action2);
		
		EntraBotaoLimpar action3 = new EntraBotaoLimpar();
		botaoLimpar.addActionListener(action3);
		
		EntraBotaoSair action4 = new EntraBotaoSair();
		botaoCancelar.addActionListener(action4);
		
	}
	
	private class EntraBotaoLimpar implements ActionListener{
		public void actionPerformed(ActionEvent arg0) {
		
			
			BuscaId.setText("");
			BuscaEstado.setSelectedIndex( 0 ); 
			BuscaLocal.setSelectedIndex( 0 ); 
			BuscaTecnico.setSelectedIndex( 0 ); 
			BuscaUsuario.setSelectedIndex( 0 ); 
			UseJCalendar.recebeDataInicio.setText("");
			UseJCalendar.recebeDataFinal.setText("");
		}
	}
	

	private class EntraBotaoSair implements ActionListener{
		public void actionPerformed(ActionEvent arg0) {
			recebeDesktop.removeAll();
			Icon iconeOuvidoria = new ImageIcon("//corregs1/Documentos/Assessoria de Informatica/Sistema de Chamados/Sistema_Fgs/Sistema_Chamada_logo_central.JPG"); 
			JLabel icone = new JLabel(iconeOuvidoria);
			icone.setBounds(200,100,400,231);
			recebeDesktop.add(icone);
			recebeDesktop.updateUI();
			
		}
	}
	
	
	private class EntraBotaoPesquisarClick implements ActionListener{
		public void actionPerformed(ActionEvent arg0) {
		
			
			new JanelaAdmConsultaFiltro().selecionaFiltros(recebeTabela);
		
		}
	}
	
	
	 void selecionaFiltros(JDesktopPane recebeDesktop){
			
	//Variaveis
		 String recebeIdBusca,recebeEstadoBusca,recebeLocalBusca,recebeUsuarioBusca,
		 recebeDataFinalBusca,recebeDataInicioBusca,recebeTecnicoBusca;
		 
		 String recebeCampo =  "Id,problema,data_entrada,data_saida,login,estado";
			
	//Atribuindo Valor	  
		 recebeIdBusca = BuscaId.getText();
		 recebeEstadoBusca = BuscaEstado.getSelectedItem().toString();
		 recebeLocalBusca = BuscaLocal.getSelectedItem().toString();
		 recebeTecnicoBusca = BuscaTecnico.getSelectedItem().toString();
		 recebeUsuarioBusca = BuscaUsuario.getSelectedItem().toString();
		 
		 recebeDataInicioBusca =  UseJCalendar.recebeDataInicio.getText();
		 recebeDataFinalBusca =   UseJCalendar.recebeDataFinal.getText();
		 
	//Cria Tabela de dados
		
		 tabela.removeAll();
			
	//Verifica campos preenchidos	
		 
		 
		 if (recebeIdBusca.equals("")) {   
		 
		   
		   System.out.println(recebeDataFinalBusca+
				   recebeDataInicioBusca
				   );
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca.equals(""))&&
				   (recebeLocalBusca.equals(""))&&
				   (recebeEstadoBusca.equals(""))&&
				   (recebeTecnicoBusca.equals("")))
				   
				  {
			   
			   JOptionPane.showMessageDialog(null, "Preencha os dados para fazer a busca",
						"Problema na buscar ",JOptionPane.ERROR_MESSAGE);
			   
		   }
		   
		   if((recebeDataInicioBusca != recebeDataFinalBusca)&&
				   (recebeUsuarioBusca.equals(""))&&
				   (recebeLocalBusca.equals(""))&&
				   (recebeEstadoBusca.equals(""))&&
				   (recebeTecnicoBusca.equals("")))
				   
				  {
			   //Select so com DATA
				 JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","(data_entrada >= '"+recebeDataInicioBusca+"' and data_saida <= '"+recebeDataFinalBusca+"')",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
			     recebeDesktop.updateUI();
				
				 EntraEventoMouse eventoMouse = new EntraEventoMouse();
				 tabela.addMouseListener(eventoMouse);  
				
				
			   
				  }
		   
		   
		   if((recebeDataInicioBusca != recebeDataFinalBusca)&&
				   (recebeUsuarioBusca !=""))
				   
				  {
			   
			   //select com data e usuario
			   
				JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((data_entrada >= '"+recebeDataInicioBusca+"' and data_saida <= '"+recebeDataFinalBusca+"')and(login = '"+recebeUsuarioBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				
			   
			   
				  }
		   
		   
		   if((recebeDataInicioBusca != recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != "")&&
				   (recebeLocalBusca != ""))
				   
				  {
			   
			   //select com data  usuario e local
		
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","(((data_entrada >= '"+recebeDataInicioBusca+"' and data_saida <= '"+recebeDataFinalBusca+"')and(login = '"+recebeUsuarioBusca+"'))and(local = '"+recebeLocalBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
			
				
			   
			   
			   
				  }
		   
		   
		   if((recebeDataInicioBusca != recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != "")&&
				   (recebeLocalBusca != "")&&
				   (recebeEstadoBusca != ""))
				   
				  {
		   
		   System.err.println("Estado:"+recebeEstadoBusca);
			   //select com data usuario , local e Estado, 
			
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((((data_entrada >= '"+recebeDataInicioBusca+"' and data_saida <= '"+recebeDataFinalBusca+"')and(login = '"+recebeUsuarioBusca+"'))and(local = '"+recebeLocalBusca+"'))and (estado = '"+recebeEstadoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				
			   
			   
			   
			   
			   
				  }
		   
		   if((recebeDataInicioBusca != recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != "")&&
				   (recebeLocalBusca != "")&&
				   (recebeEstadoBusca != "")&&
				   (recebeTecnicoBusca != ""))
				   
				  {
		   
		   
		   //select DATA,USUARIO,LOCAL,ESTADO e TECNICO
			   
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((((data_entrada >= '"+recebeDataInicioBusca+"' and data_saida <= '"+recebeDataFinalBusca+"')and(login = '"+recebeUsuarioBusca+"'))and(local = '"+recebeLocalBusca+"'))and (estado = '"+recebeEstadoBusca+"') and (tecnico = '"+recebeTecnicoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				  }
		   
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != ""))
				 
				   
				  {
			   //SELECT USUARIO
			   
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","(login = '"+recebeUsuarioBusca+"')",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				  }
		   
		   
		   
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != "")&&
				   (recebeLocalBusca != ""))
				 
				   
				  {
			   
			   //SELECT COM USUARIO E LOCAL
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((login = '"+recebeUsuarioBusca+"')and(local = '"+recebeLocalBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				  }
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != "")&&
				   (recebeLocalBusca != "")&&
				   (recebeEstadoBusca != ""))
				   
				  {
			   //SELECT COM USUARIO , LOCAL E ESTADO
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((login = '"+recebeUsuarioBusca+"')and(local = '"+recebeLocalBusca+"')and (estado = '"+recebeEstadoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
			   
				  }
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca != "")&&
				   (recebeLocalBusca != "")&&
				   (recebeEstadoBusca != "")&&
				   (recebeTecnicoBusca != ""))
				   
				  {
			   
			   //SELECT COM  USUARIO, LOCAL, ESTADO, TECNICO
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((login = '"+recebeUsuarioBusca+"')and(local = '"+recebeLocalBusca+"')and (estado = '"+recebeEstadoBusca+"')and(tecnico = '"+recebeTecnicoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
			   
				  }
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca == "")&&
				   (recebeLocalBusca != ""))
				   
				  {
		   
			   //SELECT LOCAL
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","(local =  '"+recebeLocalBusca+"')",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
			   
				  }
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca == "")&&
				   (recebeLocalBusca != "")&&
				   (recebeEstadoBusca != ""))
				   
				  {
		   
			   	//SELECT LOCAL, ESTADO
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((local =  '"+recebeLocalBusca+"')and (estado  = '"+recebeEstadoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				  }
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca == "")&&
				   (recebeLocalBusca != "")&&
				   (recebeEstadoBusca != "")&&
				   (recebeTecnicoBusca != ""))
				   
				  {
		   
			   	//SELECT LOCAL, ESTADO , TECNICO
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((local =  '"+recebeLocalBusca+"')and (estado  = '"+recebeEstadoBusca+"') and (tecnico = '"+recebeTecnicoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
				  }
		   
		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca == "")&&
				   (recebeLocalBusca == "")&&
				   (recebeEstadoBusca != ""))
				   
				  {
			   
			   //SELECT ESTADO
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","(estado =  '"+recebeEstadoBusca+"')",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
			   
			   
				  }
		   

		   
		   if((recebeDataInicioBusca == recebeDataFinalBusca)&&
				   (recebeUsuarioBusca == "")&&
				   (recebeLocalBusca == "")&&
				   (recebeEstadoBusca != "")&&
				   (recebeTecnicoBusca != ""))
				   
				  {
			   
			//SELECT ESTADO, TECNICO   
			   
			   JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","((estado =  '"+recebeEstadoBusca+"')and (tecnico = '"+recebeTecnicoBusca+"'))",tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				 recebeDesktop.removeAll();
				 recebeDesktop.add(minhaTabela);
				
			   
				  }
		   
		   
		   
			     
			 }else{
				 
				
				JScrollPane minhaTabela =  new JScrollPane(tabela);
				 minhaTabela =  ComandoTabela.selecionaTabelaConsulta( recebeCampo,"Definicao","Id = "+recebeIdBusca,tabela);
				
				 minhaTabela.setBounds(10, 35, 730,255);

				
				 recebeDesktop.add(minhaTabela);
				
				
				
				
				 
			 }
		     
		
	
		
		
	}
		 
		 
	 

		 
		 
	 
	
	
	
	
	private class EntraBotaoPesquisar implements KeyListener{
		
	
			public   
			void  keyPressed(KeyEvent ev)   
			{   
			   // pega a tecla pressionada..   
			   int  tecla_pressionada = ev.getKeyCode();   
			   // se for o enter..   
			   if (tecla_pressionada == KeyEvent.VK_ENTER)   
			   {   
				new JanelaAdmConsultaFiltro().selecionaFiltros(recebeTabela);
				   
				   
			
			botaoPesquisar.doClick();   
			    }   
			} 
				
				
			public void keyReleased(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			public void keyTyped(KeyEvent arg0) {
				// TODO Auto-generated method stub
				
			}
		
		
			
			
	
}
	
	
	public String []  comparaTecnicoUsuario(String[] usuarios,String[] tecnicos){
		Vector recebeValor = new Vector();
		String [] recebeResultado;
	
		boolean confirma = false ;
		
		
		for (int i = 0; i < usuarios.length; i++) {
			for (int j = 0; j < tecnicos.length; j++) {
				
				if(usuarios[i].equals(tecnicos[j])){
					
					confirma = false;
					break;
					
				}else {
					confirma = true;
				
				}
				
			}
			if (confirma == true){
			recebeValor.add(usuarios[i]);
			}
		}
		
		
		
		recebeResultado = new String[recebeValor.size()+1];
		recebeResultado[0] ="";
		
		int j = 0;
		for (int i = 1; i < recebeResultado.length; i++) {
			
			recebeResultado[i] = (String) recebeValor.get(j);
			j++;
		}
	return recebeResultado;
	}
	
	
	
	
	
	int pegaTamanhoComboBox(String CampoTabela,String Tabela){
		
		int contador=0;
		try{
			
			
			Connection conectar  = Conectando.getConnection();
			
			Statement st = conectar.createStatement();
			
			ResultSet resultado = st.executeQuery("select "+CampoTabela+" from "+Tabela);
		
			
			
		
			while(resultado.next()){
				contador++;
				
				
			}		
	
			
			st.close();
			conectar.close();
				
		}catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Erro ao conectar com o Banco de Dados",
					"Erro de conexão ",JOptionPane.ERROR_MESSAGE);
		}
		return contador;
	}
		
	String[] pegaCombobox(int numero,String CampoTabela,String Tabela){
		String [] vetorValor =  new String [numero+1];
		int i =1;
		try{
		Connection conectar  = Conectando.getConnection();
		Statement st = conectar.createStatement();;
		ResultSet resultado =  st.executeQuery("select "+CampoTabela+" from "+Tabela);
		
		
	
		vetorValor[0] = "";
		while(resultado.next()){
			
			vetorValor[i]= resultado.getString(CampoTabela);
			i++;
			
	}
		
		st.close();
		conectar.close();
		
		}catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Erro ao conectar com o Banco de Dados",
					"Erro de conexão ",JOptionPane.ERROR_MESSAGE);
		}
		return vetorValor;
		
	}
	
	/**String [] limpaUsuario(String[] vetorUsuario, String[] vetorTecnico){
		
		String[] recebeValorFinal;
		
	for (int i=0;i<vetorUsuario.length;i++){
		
		for(int j=0;j<vetorTecnico.length;i++){
			
			
			
		}
		
	}	
		
		
		
	}**/
	
	private class EntraEventoMouse extends MouseAdapter {
		
	    public void mouseClicked(MouseEvent evt) {   
	    	
	    	if ((evt.getClickCount())== 2) {   
	    	   try{
	    		String[] vetorDeValores;
 				String pegaCamposdaTabela,pegaTabela;
 				pegaCamposdaTabela = "Id,problema,data_entrada,data_saida,hora_entrada,hora_saida,local,estado,tecnico,login,observação";
 				
 				pegaTabela =  "Definicao";
 				String intemComparar = "Id";
 				
 				vetorDeValores =  new String[ComandoTabela.pegaCampoDaTabelaConsultaAberto(pegaCamposdaTabela,pegaTabela,intemComparar,tabela).length];
 				
 				vetorDeValores = ComandoTabela.pegaCampoDaTabelaConsultaAberto(pegaCamposdaTabela,pegaTabela,intemComparar,tabela);	
 				
 				new VisualizacaoFiltro().janelaVisualizaçãoFiltro(vetorDeValores);
 				
 				
	    	   }catch (Exception e) {
				System.out.println("Erro");
			}
	    	
	    	}}}
			
		
    public static void main(String[] args) {
		

    	
    	
    	
	}
		
		

	
	

	}
>

7 Respostas

Mantu

Na linha 268, talvez você tenha que verificar antes se o retorno de BuscaEstado.getSelectedItem() não tá dando null

G

Opa então n é isto n :S
Sera que niguem pode da uma ajuda melhor ?

paulo.marcelo

Cara será que teria como mandar o código de outra forma? Não consigo ver teu código meu firefox trava. HEHEHE

G

Me passa o seu e-mail qque eu mandpo por la

paulo.marcelo

te mandei o meu e-mail.

W

Gothicoil:
Opa então n é isto n :S
Sera que niguem pode da uma ajuda melhor ?

po se nao e o retorno do getSelected() entao e o BuscaEstado que ta nulo, faz um if ai pra ver oque realmente ta nulo, pq to no trampo ainda nao instalaram o jdeveloper na minha maquina ai fica dificil eu testar, ou rastrear tudo so olhando…

recebeEstadoBusca = BuscaEstado.getSelectedItem().toString();

Mantu

Gothicoil:
Opa então n é isto n :S
Sera que niguem pode da uma ajuda melhor ?

Desculpe, mas não sou eu quem está dizendo que o erro está nessa linha, e sim o próprio Java… Segundo o stack trace que você postou:

#     at JanelaAdmConsultaFiltro.selecionaFiltros(JanelaAdmConsultaFiltro.java:268)

A exceção está sendo lançada na linha 268 do seu arquivo JanelaAdmConsultaFiltro.java. A linha em questão é esta (Isto se você postou aqui EXATAMENTE todas as linhas do seu arquivo):

recebeEstadoBusca = BuscaEstado.getSelectedItem().toString();

Sendo assim e sabendo que a primeira ocorrência do stack trace é a reproduzida acima, só teríamos um NullPointerException nessa linha 268 se BuscaEstado.getSelectedItem() retorna null, fazendo com que, na verdade, você esteja fazendo algo parecido com recebeEstadoBusca = null.toString().
Não analizei o comportamento do seu getSelectedItem(), mas das duas uma:
[list]Ou você não está levando em conta os casos em que este método getSelectedItem() retorna null[/list]
[list]Ou, supondo que o método não deveria nunca deveria retornar null, há algo errado com o método getSelectedItem(), fazendo-o retornar null[/list]
Questão de analisar o fonte neste trecho, de acordo com o comportamento deste método BuscaEstado.getSelectedItem(), comportamento este que só você sabe qual é.

Criado 3 de março de 2008
Ultima resposta 5 de mar. de 2008
Respostas 7
Participantes 4