La vai ...
import java.awt.Color;
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.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.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;
void entraNoFiltro(JDesktopPane JanelaPrincipal){
JanelaPrincipal.removeAll();
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);
// EntraBotaoLimpar action2 = new EntraBotaoLimpar();
//botaoLimpar.addActionListener(action2);
// EntraBotaoSair action3 = new EntraBotaoSair();
// botaoCancelar.addActionListener(action3);
}
void selecionaFiltros(JDesktopPane recebeDesktop){
//Variaveis
String recebeIdBusca,recebeEstadoBusca,recebeLocalBusca,recebeUsuarioBusca,
recebeDataFinalBusca,recebeDataInicioBusca;
//Atribuindo Valor
recebeIdBusca = BuscaId.getText();
recebeEstadoBusca = BuscaEstado.getSelectedItem().toString();
recebeLocalBusca = BuscaLocal.getSelectedItem().toString();
recebeUsuarioBusca = BuscaUsuario.getSelectedItem().toString();
recebeDataInicioBusca = UseJCalendar.recebeDataInicio.getText();
recebeDataFinalBusca = UseJCalendar.recebeDataFinal.getText();
//Cria Tabela de dados
JTable tabela = new JTable();
//Verifica campos preenchidos
if(recebeDataInicioBusca.equals("")){
System.err.println("O erro ocorre quando ele compara aqui");
}//else{
//System.out.println("recebeDataInicioBusca:" +recebeDataInicioBusca);
// }
}
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)
{
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()+2];
recebeResultado[0] ="";
recebeResultado[1] ="Todos";
int j = 0;
for (int i = 2; 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+2];
int i =2;
try{
Connection conectar = Conectando.getConnection();
Statement st = conectar.createStatement();;
ResultSet resultado = st.executeQuery("select "+CampoTabela+" from "+Tabela);
vetorValor[0] = "";
vetorValor[1] = "Todos";
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++){
}
}
}**/
public static void main(String[] args) {
}
}