Sistema bancario parte grafica

ae Galera estou lendo o livro deitel 6 edição e a medida que vou avançando vou postando aki os capitulos e pontos do livro!! bom estou iniciando o cap4 e fiz um pequeno resumo dos 2 capitulos lidos sendo que o cap1 é apenas teoria(o que é computador?, o que www?) ponto que nao li!
Vamos la em um topico a algumas semanas atras postei o cap2 com um sistema bancario usando a linha comando ms-dos aqui to colocando o mesmo programa com parte grafica e alguns novos recursos.
Assuntos abordados para construção: Variaveis de instancia, construtores, metodos, objetos e classes!!

public class Banco
{
	private int senha;
	private double saldo,saque,cpmf,limite;
	private String nome,sobrenome;

public Banco(String nom, String sobre)
{
	this.nome = nome;
	this.sobrenome= sobre;
}
public Banco(int sen)
{
		this.senha = sen;
}
public Banco(double sald, double saq, double cp, double lm)
{
	if (sald > 0.00 && saq > 0.00)
	this.saldo = sald;
	this.saque = saq;
	this.cpmf = cp;
	this.limite = lm;
}

public void setNome(String n)
{
	nome = n;
}

public void setSobre(String s)
{
	sobrenome = s;
}

public void setSaldo(double sa)
{
	saldo = sa;
}

public void setSaq(double sq)
{
	saque = sq;
}

public void setCpmf(double cm)
{
	cpmf = cm;
}

public void setLimite(double lt)
{
	limite = lt;
}

public void setSenha(int sh)
{
	senha = sh;
}

//exibe o valor armazenado no set

public String getNome()
{
	return nome;
}

public String getSobre()
{
	return sobrenome;
}


public double getSald()
{
	return saldo;
}

public double getSaque()
{
	return saque;
}

public double getCpmf()
{
	return cpmf;
}

public double getLimite()
{
	return limite;
}

public int getSenha()
{
	return senha;
}

}
import javax.swing.JOptionPane;

public class Sistemab
{
public static void main(String args[])
{

	
	Banco objtlimite = new Banco(0.00, 1.00, 5.00, 0.50);

	Banco objtnome = new Banco("a", "b");

	Banco objtsobre = new Banco("c", "d");

	Banco objtsaldo = new Banco(0.00, 1.00, 5.00, 0.50);

	Banco objtsaque = new Banco(0.00, 1.00, 5.00, 0.50);

	Banco objtcpmf = new Banco(0.00, 1.00, 5.00, 0.50);

	Banco obtjsenha = new Banco("456", "8521");

		String name = JOptionPane.showInputDialog("Digite seu nome");
		objtnome.setNome(name);

		String sobre = JOptionPane.showInputDialog("Digite seu sobrenome");
		objtsobre.setSobre(sobre);

		String senha = JOptionPane.showInputDialog("Digite sua senha para acesso");
		int se = Integer.parseInt(senha);
		obtjsenha.setSenha(se);

	String aviso = String.format("Dados cadastrados com sucesso! Sr.(a) %s", name);
	String aviso2 =  String.format("ID: %s\nSenha: %s ", name, senha);
	
	JOptionPane.showMessageDialog(null, aviso);
	JOptionPane.showMessageDialog(null, aviso2);
	

//valida dados

		String id = JOptionPane.showInputDialog("Digite sua id");
		String ss = JOptionPane.showInputDialog("Digite sua senha");

		int sh = Integer.parseInt(ss);
		
		 
	if (id != name && se != sh){
	JOptionPane.showMessageDialog(null, "Dados Inválidos");
	}
	else
	{		
String deposito = JOptionPane.showInputDialog("Faça um deposito na conta ");
	
	double dep = Double.parseDouble(deposito);
		
	if (dep < 20.00)
	{
	JOptionPane.showMessageDialog(null, "De acordo com o contrato valor inválido para deposito");
	}
	else {
	JOptionPane.showMessageDialog(null, "Obrigado por realizar um deposito");

	dep = dep;
	objtsaldo.setSaldo(dep);
	
		double limit;
		limit = dep * (2);
		objtlimite.setLimite(limit);

	String avisolimite = String.format("Seu limite para emprestimos é: R$ %.2f", objtlimite.getLimite() );

	JOptionPane.showMessageDialog(null, avisolimite);
	
	String saque = JOptionPane.showInputDialog("Realize um saque ");
		double saq = Double.parseDouble(saque);
		if (saq > dep) {
		JOptionPane.showMessageDialog(null, "Saldo Insuficiente");
		}
		else {
		saq = saq;
		objtsaque.setSaq(saq);
		
		double r;
		r = dep - saq;
				
		double cpm = (saq * 2) / 100;
		
		objtcpmf.setCpmf(cpm);
		
		double set = r - cpm;
		
		objtsaldo.setSaldo(set);
		
		limit = set * (2);
		objtlimite.setLimite(limit);
		int cont = 785236;
String exibi = String.format("Número da Conta %s\nSaldo R$%.2f\nSaque realizado R$ %.2f\nLimite para emprestimo R$%.2f\nValor de CPMF R$%.2f\nSistema Desenvolvido por Camilo Lopes Version 1.1", cont, objtsaldo.getSald(), objtsaque.getSaque(), objtlimite.getLimite(), objtcpmf.getCpmf());

		JOptionPane.showMessageDialog(null, exibi);
		}		
	
		
	
	}
	}

}
}

para compilar javac Banco.java Sistemab.java

Ae galera!! fui!!

:idea: Estes exemplo são bem interessantes para os iniciantes, continue pois quando estava no início procurei este tipo de material.