Botões chamando Frame

3 respostas
danielweb

Tenho dois botões que chamam o mesmo frame um botão faz depósito outro saque
quando clico para sacar chamo a janela DepositoSaqueFrame com o titulo de saque
digito o valor do saque e roda o codigo

private void okButtonActionPerformed(ActionEvent evt) { saque(); atualizando(); return; } public void saque(){ double valor = Double.parseDouble(valorTextField.getText()); Object selecionado = contaComboBox.getSelectedItem(); if (controlador.sacar((Conta)selecionado, valor)){ dispose(); } else{ JOptionPane.showMessageDialog(this, "Não possui saldo suficiente"); } }
saca tudo certo mas quando clico na tecla depositar vem a mesma janela
DepositoSaqueFrame com o titulo deposito preciso de saber como implementar o metodo
deposito(); no private void okButtonActionPerformed(ActionEvent evt)
e como que o java vai saber se eu cliquei em sacar para rodar o metódo sacar ou se eu cliquei
em depósitar para rodar o metodo deposito que é este

public void deposito(){ double valor = Double.parseDouble(valorTextField.getText()); Object selecionado = contaComboBox.getSelectedItem(); if(controlador.depositar((Conta)selecionado, valor)){ dispose(); } }

3 Respostas

marcoslogan

Simples você usa um JCheckBox ou JRadioButton, depois só faz a comparação do tipo

if(Deposito.isSelected()){
    //aqui você coloca os métodos referente ao depósito.
  }else{
      if(Saque.isSelected()){
          //aqui você coloca os métodos referente ao Saque.
      }
  }

Por favor coloca os métodos do teu controlador aqui, para eu analisar, pois sempre tem soluções melhores. E o teu código acima, ficou confuso.
Você não colocou o método atualizando();, então fica difícil. Por favor coloque o código completo.

danielweb
código do controlador
public boolean controlarSaque(){
		if (pos == 0){
		return false;	
		}
		else{
			DepositoSaqueFrame form = new DepositoSaqueFrame();
			form.setTitle("Saque");
			form.setControlador(this);
			form.carregarDados(contas);
			form.setLocationRelativeTo(null);
			form.setVisible(true);
		return true;
		}
	}
	public boolean sacar(Conta contas, double valor){
		if(contas.getSaldo() < valor){
			return false;
		}
		else{
			contas.setSaldo(contas.getSaldo()- valor);
			return true;
			}
	}
	
	
	public boolean controlarDeposito(){
		
		if (pos == 0){
			return false;
		}
		else{
			DepositoSaqueFrame form = new DepositoSaqueFrame();
			form.setTitle("Depósito");
			form.setControlador(this);
			form.carregarDados(contas);
			form.setLocationRelativeTo(null);
			form.setVisible(true);
			return true;
		}
	}

	public boolean depositar(Conta contas, double valor){
		 contas.setSaldo(contas.getSaldo()+ valor);
		 return true;
	}
danielweb

código do atualizar

public void atualizando(){ contaComboBox.updateUI(); }

Criado 26 de fevereiro de 2010
Ultima resposta 26 de fev. de 2010
Respostas 3
Participantes 2