Dúvida qto ao uso da tecla "ESC" para sair da aplicação

3 respostas
P
Estou estudando e resolvi fazer um aplicaçãozinha para controle de contas da seguinte forma: Tenho a classe Operacoes
public class Operacoes {
	private double saldo;
	boolean trans = true;
	
	public Operacoes (double inicial){
		saldo = inicial;
	}
	
	public double getSaldo() {
		return saldo;
	}
	
	public void credito(double salario){
		saldo += salario;
	}
	
	public boolean debito(double pgto){
		if (pgto <= saldo){
			saldo -= pgto;
			return trans;
		} else{
			trans = false;
			return trans;
		}		
	}	
}
e a classe Main
import javax.swing.JOptionPane;

public class MinhasContas {
	
	public static void main (String arg[]){
		double[] salario = new double[100];
		double[] pgto = new double[100];
		double sal, p;	
		int i = 0;				
		
		Operacoes oper = new Operacoes(0.0);
		
		System.out.println();
		System.out.println("O saldo inicial é: " + oper.getSaldo());
		System.out.println();
		
		do{
      // efetua a próxima leitura
      String str = JOptionPane.showInputDialog(null,
        "Informe o valor dos créditos:\n(ou '0' para informar os débitos)",
         "Controle de contas pessoais", JOptionPane.QUESTION_MESSAGE);
      
      str = str.replaceAll(",", ".");
      sal = Double.parseDouble(str);
      salario[i]=sal;      
      if (sal != 0.0){
      	System.out.println("O salario[" + i + "] é: " + salario[i]);
      	oper.credito(salario[i]);
      }
      i++;
    }while(sal != 0);
		
		i = 0;
		
		do{
      // efetua a próxima leitura
      String str = JOptionPane.showInputDialog(null,
        "Informe o valor dos débitos:\n(ou '0' para sair)",
         "Controle de contas pessoais", JOptionPane.QUESTION_MESSAGE);

      str = str.replaceAll(",", ".");
      p = Double.parseDouble(str);
      pgto[i]=p;
      if (p != 0){
	      System.out.println("O pgto[" + i + "] é: " + pgto[i]);
	      if (oper.debito(pgto[i])){
	  			System.out.println("Transação Efetuada! O saldo após o 1º pagamento da conta é: " + oper.getSaldo());
	  		}else{
	  			System.out.println("Transação não Efetuada! Valor do pagamento maior que o saldo!!!");			
	  		}
      }
      i++;
    }while(p != 0);

		
		/*System.out.print("Digite o 1º Salário: ");
		Scanner scanner = new Scanner(System.in);
		sal = scanner.nextDouble();
		sal = Integer.parseInt(JOptionPane.showInputDialog("Digite o 1º Salário"));
		salario[0]=sal;*/
		
		System.out.println();
		System.out.println("O saldo após o pagamento da conta é: " + oper.getSaldo());
		System.out.println();
	}
}
O que pretendo é ao invés de usar a tecla "0" para sair dos laços, gostaria de usar a tecla "ESC" porém não estou conseguindo, tentei converter String para outros tipos para ver se dava certo mas não consegui. Gostaria de saber se alguém pode me ajudar???

3 Respostas

diogobr

Vc pode simplesmente testar

se ( str != null)
executa sua lógica

Vlw

Thiago_Luis

diogobr:
Vc pode simplesmente testar

se ( str != null)
executa sua lógica

Vlw


???
Não entendi o pq desse null awe !

Para verificar qual tecla foi acionada, procure por KeyListener.

Abraço

P

Valeu galera!
brigadão!!!

Criado 19 de junho de 2009
Ultima resposta 22 de jun. de 2009
Respostas 3
Participantes 3