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();
}
}
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.
código do controlador
[code]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;
}[/code]
código do atualizar
public void atualizando(){
contaComboBox.updateUI();
}