Boa noite pessoal!
Estou desenvolvendo um projeto para a faculdade onde preciso criar um terminal de caixa eletrônico.
É bem simples, uma classe PRINCIPAL (main) instância a classe LOGIN.
A classe LOGIN instância a classe CADCONTACOR que contém um array da classe CONTACOR (é como se a CADCONTACOR fosse a tabela ‘cadastro_conta_corrente’).
Ao confirmar um login a classe LOGIN instancia a classe TERMINAL que tem apenas 3 botões: Sacar, Transferência e Saldo. Cada botão abre uma nova janela/classe.
Ao clicar em Saldo fiz com que a classe mostre um JOptionPanel com o atributo saldo da conta principal (a que foi validada no login).
Minhas dúvidas são:
-Como faço pra enviar o saldo da conta principal do terminal (conta que foi feito o login) para as classes Sacar e Transferência?;
-Como atualizar o saldo desta mesma conta depois depois de sacar ou transferir?;
Seguem minhas classes:
TERMINAL
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Terminal extends JFrame {
private JLabel lblTitulo;
private JButton btnTransferencia;
private JButton btnSacar;
private JButton btnSaldo;
private ContaCor contaPrincipal;
private CadContaCor cadContas;
private Saque sPrincipal;
public Terminal(ContaCor cPrincipal, CadContaCor cCadContas) {
this.contaPrincipal = cPrincipal;
this.cadContas = cCadContas;
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(new Color(255, 255, 255));
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(new java.awt.Dimension(497, 284));
this.setLocation((screenSize.width-497)/2,(screenSize.height-284)/2);
this.setTitle("Caixa Eletrônico - Terminal");
this.setResizable(false);
lblTitulo = new JLabel("ESCOLHA UMA OPÇÃO!");
lblTitulo.setBounds(new Rectangle(171, 6, 140, 26));
this.getContentPane().add(lblTitulo, null);
btnTransferencia = new JButton("Transferência");
btnTransferencia.setBounds(new Rectangle(16, 66, 137, 47));
this.getContentPane().add(btnTransferencia, null);
btnSacar = new JButton("Sacar");
btnSacar.setBounds(new Rectangle(328, 66, 137, 47));
this.getContentPane().add(btnSacar, null);
btnSacar.addMouseListener (new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
sPrincipal = new Saque();
}
}
);
btnSaldo = new JButton("Saldo");
btnSaldo.setBounds(new Rectangle(16, 145, 137, 47));
this.getContentPane().add(btnSaldo, null);
btnSaldo.addMouseListener (new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
contaPrincipal.obterSaldo();
}
}
);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
aoFechar();
}
});
this.setVisible(true);
}
private void aoFechar() {
System.exit(0);
}
// Insira aqui os métodos para os eventos
/*public static void main(String args[]) {
ContaCor cc = new ContaCor(2611, 0001, "1234", "123456789", "José da Silva", 750.00);
Terminal t = new Terminal();
}*/
}
TRANSFERÊNCIA
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Transferencia extends JFrame {
private JLabel lblValor;
private JTextField txtValor;
private JLabel lblTitulo;
private JLabel lblAgencia;
private JLabel lblConta;
private JTextField txtAgencia;
private JTextField txtConta;
private JButton btnTransferir;
public Transferencia() {
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(new Color(255, 255, 255));
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(new java.awt.Dimension(329, 303));
this.setLocation((screenSize.width-329)/2,(screenSize.height-303)/2);
this.setTitle("Caixa Eletrônico - Transferência");
this.setResizable(false);
lblValor = new JLabel("Valor");
lblValor.setBounds(new Rectangle(63, 31, 46, 13));
this.getContentPane().add(lblValor, null);
txtValor = new JTextField();
txtValor.setBounds(new Rectangle(151, 24, 100, 21));
this.getContentPane().add(txtValor, null);
lblTitulo = new JLabel(" Conta de crédito");
lblTitulo.setBounds(new Rectangle(78, 81, 162, 20));
this.getContentPane().add(lblTitulo, null);
lblAgencia = new JLabel("Agência");
lblAgencia.setBounds(new Rectangle(72, 143, 57, 13));
this.getContentPane().add(lblAgencia, null);
lblConta = new JLabel("Conta");
lblConta.setBounds(new Rectangle(72, 175, 57, 13));
this.getContentPane().add(lblConta, null);
txtAgencia = new JTextField();
txtAgencia.setBounds(new Rectangle(139, 137, 100, 21));
this.getContentPane().add(txtAgencia, null);
txtConta = new JTextField();
txtConta.setBounds(new Rectangle(139, 168, 100, 21));
this.getContentPane().add(txtConta, null);
btnTransferir = new JButton("Transferir");
btnTransferir.setBounds(new Rectangle(111, 212, 100, 30));
this.getContentPane().add(btnTransferir, null);
btnTransferir.addMouseListener (new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
// Chamada a um método
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
aoFechar();
}
});
this.setVisible(true);
}
private void aoFechar() {
System.exit(0);
}
// Insira aqui os métodos para os eventos
public static void main(String args[]) {
new Transferencia();
}
}
SAQUE
// Importa os pacotes necessários
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Saque extends JFrame {
private JLabel lblValor;
private JTextField txtValor;
private JButton btnOK;
public Saque() {
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(new Color(255, 255, 255));
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(new java.awt.Dimension(336, 189));
this.setLocation((screenSize.width-336)/2,(screenSize.height-189)/2);
this.setTitle("Caixa Eletrônico - Saque");
this.setResizable(false);
lblValor = new JLabel("Valor");
lblValor.setBounds(new Rectangle(72, 49, 57, 13));
this.getContentPane().add(lblValor, null);
txtValor = new JTextField();
txtValor.setBounds(new Rectangle(116, 42, 128, 21));
this.getContentPane().add(txtValor, null);
btnOK = new JButton("OK");
btnOK.setBounds(new Rectangle(115, 89, 100, 30));
this.getContentPane().add(btnOK, null);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
aoFechar();
}
});
this.setVisible(false);
}
private void aoFechar() {
System.exit(0);
}
// Insira aqui os métodos para os eventos
public static void main(String args[]) {
new Saque();
}
}