Comparar Conteudo de TextField com String

6 respostas
F

ola, preciso fazer uma comparação entre o conteudo de um JTextField com uma String determinada, isso feito dentro do evento de um botao, exemplo:

if(event.getSource()==gerarhora)
{
if(torigem.getText().equals("SAO PAULO-SP X RJ-RJ"));
{
thora1.setVisible(true);
lhora1.setVisible(true);
}
if(torigem.getText().equals("SAO PAULO-SP X ILHEUS-BA"));
{
thora1.setVisible(false);
lhora1.setVisible(false);

thora2.setVisible(true);
lhora2.setVisible(true);

}

}

sendo que, o conteudo do textfield é definido pela seleção de um ComboBox, contudo, toda vez que o botao é selecionado aparecem varias mensagens no prompt de comando …indicando erros…além disso, as alterações do tipo(“thora2.setVisible(true))” nao sao realizadas…gostaria de saber qual erro estou comentendo…se puderem me ajudar, agradeço!

6 Respostas

finotti

você fechou a linha do if com ";". O correto é usar somente a "{"

e uma dica: sempre que for comparar uma string "fixa" com um valor recuperado da tela, coloque a string fixa primeiro:
if("SAO PAULO-SP X RJ-RJ".equals(torigem.getText())) {
isso evita NullPointerException tente substituir por esse código:
if(event.getSource()==gerarhora)
{
if("SAO PAULO-SP X RJ-RJ".equals(torigem.getText()))
{
thora1.setVisible(true);
lhora1.setVisible(true);
}
if("SAO PAULO-SP X ILHEUS-BA".equals(torigem.getText()))
{
thora1.setVisible(false);
lhora1.setVisible(false);

thora2.setVisible(true);
lhora2.setVisible(true);

}

}

[edit] correção de parênteses

F

ola…obrigado pela resposta, porem quando tento fazer varias comparações como esta, os erros voltam, nao consigo entender o porque…

finotti

poste a mensagem de erro aqui

F

talvez se puder me ajudar nisto aqui eu nao precise fazer mais essas comparações…é o seguinte…
os valores do ComBox sao definidos num arrey de Strings, do tipo>. String[] hora = {“00:00”};
existe a possibilidade de alterar os valores dessa string no evento do botao?
exemplo:

if(event.getSource()==gerarhora)
{
  if("SAO PAULO-SP X RJ-RJ".equals(torigem.getText()))
  {
  String[] hora = {"","10:00"};
  }
}
finotti

parceiro, fiz uma classe simples pra te ajudar.
e é possível sim alterar o valor com o evento do botão.

public class TesteGUJ {
	
	public TesteGUJ() {
		
		String fusos[] = new String[3];
		fusos[0] = "10:00";
		fusos[1] = "12:00";
		fusos[2] = "14:00";
		
		System.out.println("=> Antes da alteração do array");
		for(int i=0; i< fusos.length; i++) {			
			System.out.println(fusos[i]);
		}
		
		// suponha que vc recuperou essa string do 'torigem.getText()'
		String teste = "10:00";
		
		// compara a string com o valor da posição 0 do array de strings
		if(teste.equals(fusos[0])) {
			// altera o valor da posição 0 do array de strings
			fusos[0] = "hora alterada!!!";
		}

		System.out.println("=> Depois da alteração do array");
		for(int i=0; i< fusos.length; i++) {
			System.out.println(fusos[i]);
		}
	}

	public static void main(String[] args) {
		new TesteGUJ();
	}
}
F

estou tentando fazer o seguinte

String fusos[] = new String[8];
 fusos[0] = "00:00";
 fusos[1] = "12:00";
 fusos[2] = "14:00";

jhora = new JComboBox(fusos[0]);
jhora.setBounds(270,170,130,20);
jhora.addItemListener(this);

container.add(jhora);

...

if(event.getSource()==gerarhora)
    {
if("SAO PAULO-SP X RJ-RJ".equals(torigem.getText()))
{
aqui preciso que o jhora altere o valor de fuso[0] para fuso[1] por exemplo
}
    }
Criado 15 de outubro de 2008
Ultima resposta 15 de out. de 2008
Respostas 6
Participantes 2