Busca dupla em arquivo

2 respostas
D

Ae galera!

To fazendo um trabalho aqui (um sistema de aeroporto) e estou com uma dúvida em relação à eventos com JComboBox.

Tenho a classe Voos, que tem as funções de abrir os arquivos .txt (que é a finalidade de aprendizado do trabalho: manipulação de arquivos) que tem meus voos de origem, destino e todas as outras informações…
Tenho também a classe GUI, que cria a interface com o usuário.

Na classe GUI, tenho 2 JComboBox:
[list]
listaOrigem - possui uma String[] com as cidades de origem
[/list]
[list]
listaDestino - possui uma String[] com as cidades de destino
[/list]

Então eu queria que quando o usuário selecionasse a origem e depois o destino,
esses objetos fossem passados para uma função que irá fazer a busca no banco de dados (voos.txt) para saber se existem voos referentes à escolha do usuário.

Aí é que está o problema:
Como fazer o evento receber esses 2 objetos e passar pra uma função buscaVoos(Object origem, Object destino) ???

Eu tentei assim:

public void actionPerformed(ActionEvent e){
      if((e.getSource() == listaOrigem) && (e.getSource() == listaDestino)){

         try{
            voos.buscaVoos(listaOrigem.getSelectedItem(), listaDestino.getSelectedItem());  //voos é uma instancia da classe Voos
         }
         catch (FileNotFoundException erro){
            JOptionPane.showMessageDialog(null, "ARQUIVO NÃO ENCONTRADO!", "ERRO", JOptionPane.ERROR_MESSAGE);
         }
      }
   }

No código acima, ele não reconhece os 2 eventos ao mesmo tempo.

Resumo: Como fazer pra passar os 2 objetos do JComboBox para a função buscaVoos() ?

Espero que compreendam a dúvida… qqr coisa, tento explicar melhor.
Valeu ae quem puder ajudar!

DÚVIDA ACIMA SOLUCIONADA…
NOVA DÚVIDA POSTADA ABAIXO!

:roll:

2 Respostas

D

Opa galera…

Já consegui resolver a dúvida acima, mas agora to com outro problema:

Após eu passar os 2 parâmetros pra função no evento lá em cima, eu quero consultar no .txt a linha que possui o local de origem e de destino escolhido pelo usuário…

Então, como fazer 2 buscas ao mesmo tempo no arquivo .txt?

Meu “banco de dados”(.txt) dos vôos está assim:

001_SP_Congonhas(CGH)_RJ_Santos Dummont(SDU)_08:00_09:00_99
002_SP_Congonhas(CGH)_RJ_Santos Dummont(SDU)_18:00_19:00_199
003_SP_Congonhas(CGH)_ES_Vitória(VIX)_08:00_10:00_99
004_SP_Congonhas(CGH)_ES_Vitória(VIX)_17:00_19:00_299
005_SP_Congonhas(CGH)_MG_Pampulha(PLU)_09:00_11:00_199
006_SP_Congonhas(CGH)_MG_Pampulha(PLU)_20:00_22:00_299
007_SP_Congonhas(CGH)_BA_Salvador(SSA)_07:00_11:00_299
008_SP_Congonhas(CGH)_BA_Salvador(SSA)_18:00_22:00_399
009_RJ_Santos Dummont(SDU)_SP_Congonhas(CGH)_08:00_09:00_99
010_RJ_Santos Dummont(SDU)_SP_Congonhas(CGH)_18:00_19:00_199
011_RJ_Santos Dummont(SDU)_ES_Vitória(VIX)_08:00_09:00_99
012_RJ_Santos Dummont(SDU)_ES_Vitória(VIX)_17:00_18:00_299
013_RJ_Santos Dummont(SDU)_MG_Pampulha(PLU)_09:00_10:00_99
014_RJ_Santos Dummont(SDU)_MG_Pampulha(PLU)_20:00_21:00_199
015_RJ_Santos Dummont(SDU)_BA_Salvador(SSA)_07:00_11:00_299
016_RJ_Santos Dummont(SDU)_BA_Salvador(SSA)_18:00_22:00_399
017_ES_Vitória(VIX)_SP_Congonhas(CGH)_08:00_10:00_99
018_ES_Vitória(VIX)_SP_Congonhas(CGH)_17:00_19:00_299
019_ES_Vitória(VIX)_RJ_Santos Dummont(SDU)_08:00_09:00_99
020_ES_Vitória(VIX)_RJ_Santos Dummont(SDU)_17:00_18:00_299
021_ES_Vitória(VIX)_MG_Pampulha(PLU)_09:00_10:00_99
022_ES_Vitória(VIX)_MG_Pampulha(PLU)_20:00_21:00_199
023_ES_Vitória(VIX)_BA_Salvador(SSA)_07:00_11:00_299
024_ES_Vitória(VIX)_BA_Salvador(SSA)_18:00_22:00_399
025_MG_Pampulha(PLU)_SP_Congonhas(CGH)_09:00_11:00_199
026_MG_Pampulha(PLU)_SP_Congonhas(CGH)_20:00_22:00_299
027_MG_Pampulha(PLU)_RJ_Santos Dummont(SDU)_09:00_10:00_99
028_MG_Pampulha(PLU)_RJ_Santos Dummont(SDU)_20:00_21:00_199
029_MG_Pampulha(PLU)_ES_Vitória(VIX)_09:00_10:00_99
030_MG_Pampulha(PLU)_ES_Vitória(VIX)_20:00_21:00_199
031_MG_Pampulha(PLU)_BA_Salvador(SSA)_07:00_11:00_199
032_MG_Pampulha(PLU)_BA_Salvador(SSA)_18:00_22:00_299
033_BA_Salvador(SSA)_SP_Congonhas(CGH)_07:00_11:00_299
034_BA_Salvador(SSA)_SP_Congonhas(CGH)_18:00_22:00_399
035_BA_Salvador(SSA)_RJ_Santos Dummont(SDU)_07:00_11:00_299
036_BA_Salvador(SSA)_RJ_Santos Dummont(SDU)_18:00_22:00_399
037_BA_Salvador(SSA)_ES_Vitória(VIX)_07:00_11:00_299
038_BA_Salvador(SSA)_ES_Vitória(VIX)_18:00_22:00_399
039_BA_Salvador(SSA)_MG_Pampulha(PLU)_07:00_11:00_199
040_BA_Salvador(SSA)_MG_Pampulha(PLU)_18:00_22:00_299

ps.: lembrando que tenho que utilizar .txt
:oops:

O “_” (underline) serve para separar as informações (com o StringTokenizer)…

Explicação do arquivo .txt (primeira linha):
001 => código do vôo
SP => estado de origem
Congonha(CGH) => aeroporto de origem
RJ => estado de destino
Santos Dummont(SDU) => aertoporto de destino
08:00 => hora de embarque
09:00 => hora de desembarque
99 => preço da passagem

obs.: Ou alguém tem alguma sugestão melhor (organização dos vôos… criação de outros arquivos…)? :?:

Valeu galera!
:!: :grin:

D

Alguém?
:oops:

Criado 16 de junho de 2006
Ultima resposta 18 de jun. de 2006
Respostas 2
Participantes 1