Bom eu to fazendo um cadastro que tenho 3 classes e nelas tenho que ter os métodos de (inserir, alterar, excluir, listar e consultar) dai to com dúvida para ligar os métodos aos formulário. Tenho que fazer o programa em camadas.
vou mostrar o exemplo da minha classe Médico.
Minha classe RepositorioMedicoLista
[quote][code]public class RepositorioMedicoLista {
private Medico medico;
private RepositorioMedicoLista proximo;
public RepositorioMedicoLista() {
this.medico = null;
this.proximo = null;
}
public void inserirMedico(Medico medico) {
if (this.medico == null) {
this.medico = medico;
this.proximo = new RepositorioMedicoLista();
} else {
this.proximo.inserirMedico(medico);
}
}
public void removerMedico(String crm) {
if (this.medico != null) {
if (this.medico.getCrm().equals(crm)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.removerMedico(crm);
}
}
}
public Medico listagemMedico() {
return medico;
}
public Medico consultarCodigo(Medico medico) {
Medico ret = null;
if (this.medico == null) {
throw new RuntimeException("Consulta sem resultado");
} else {
while (this.proximo != null) {
if (this.medico.getCodigo().equals(medico.getCodigo())) {
ret = this.medico;
} else {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
}
}
}
return ret;
}
public Medico consultarNome(Medico medico) {
Medico ret = null;
if (this.medico == null) {
throw new RuntimeException("Consulta sem resultado");
} else {
while (this.proximo != null) {
if (medico.getNome().equals(medico.getNome())) {
ret = this.medico;
} else {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
}
}
}
return ret;
}
public Medico consultarCrm(Medico medico) {
Medico ret = null;
if (this.medico == null) {
throw new RuntimeException("Consulta sem resultado");
} else {
while (this.proximo != null) {
if (medico.getCrm().equals(medico.getCrm())) {
ret = this.medico;
} else {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
}
}
}
return ret;
}
public Medico consultarTodos() {
return medico;
}
public void alterarCodigo(String codigo) {
if (this.medico != null) {
if (this.medico.getCodigo().equals(codigo)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.alterarCodigo(codigo);
}
}
}
public void alterarNome(String nome) {
if (this.medico != null) {
if (this.medico.getNome().equals(nome)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.alterarNome(nome);
}
}
}
public void alterarCrm(String crm) {
if (this.medico != null) {
if (this.medico.getCrm().equals(crm)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.alterarCrm(crm);
}
}
}
/**
* @return the proximo
*/
public RepositorioMedicoLista getProximo() {
return proximo;
}
/**
* @param proximo the proximo to set
*/
public void setProximo(RepositorioMedicoLista proximo) {
this.proximo = proximo;
}
}[/code][/quote]
Minha classe ControladorMedico
[quote][code]public class ControladorMedico {
private RepositorioMedicoLista repositorio;
public ControladorMedico() {
this.repositorio = new RepositorioMedicoLista();
}
public void inserirMedico(Medico medico) throws ExcecaoMedico {
if (medico == null) {
throw new ExcecaoMedico("Infomar o medico");
}
if (medico.getCrm().trim().equals("")) {
throw new ExcecaoMedico("Infomar o crm do medico");
}
if (medico.getNome().trim().equals("")) {
throw new ExcecaoMedico("Infomar o nome do medico");
}
if (medico.getCodigo().trim().equals("")) {
throw new ExcecaoMedico("Informar o código do medico");
}
this.repositorio.inserirMedico(medico);
}
public Medico listagemMedico(Medico medico) throws ExcecaoMedico {
if (medico == null) {
throw new ExcecaoMedico("Consulta sem resultados");
} else {
return repositorio.listagemMedico();
}
}
public Medico consultarCodigo(Medico medico) throws ExcecaoMedico {
if (medico.getCodigo() == null) {
throw new ExcecaoMedico("Consulta sem resultados");
} else {
return repositorio.consultarCodigo(medico);
}
}
public Medico consultarNome(Medico medico) throws ExcecaoMedico {
if (medico.getNome() == null) {
throw new ExcecaoMedico("Consulta sem resultados");
} else {
return repositorio.consultarNome(medico);
}
}
public Medico consultarCrm(Medico medico) throws ExcecaoMedico {
if (medico.getCrm() == null) {
throw new ExcecaoMedico("Consulta sem resultados");
} else {
return repositorio.consultarCrm(medico);
}
}
public Medico consultarTodos() throws ExcecaoMedico {
return repositorio.consultarTodos();
}
}[/code][/quote]
Minha classe ExcecaoMedico
[quote][code]ublic class ExcecaoMedico extends Exception {
public ExcecaoMedico(String mensagem) {
super(mensagem);
}
}[/code][/quote]
E minha classe Fachada
[quote][code]public class Fachada {
private ControladorConsulta controladorconsulta;
private ControladorMedico controladormedico;
private ControladorPaciente controladorpaciente;
public Fachada() {
this.controladorconsulta = new ControladorConsulta();
this.controladormedico = new ControladorMedico();
this.controladorpaciente = new ControladorPaciente();
}
public void inserirConsulta(Consulta consulta) throws ExcecaoConsulta {
this.controladorconsulta.inserirConsulta(consulta);
}
public void inserirMedico(Medico medico) throws ExcecaoMedico {
this.controladormedico.inserirMedico(medico);
}
public void inserirPaciente(Paciente paciente) throws ExcecaoPaciente {
this.controladorpaciente.inserirPaciente(paciente);
}
public Medico listagemMedico(Medico medico) throws ExcecaoMedico {
return controladormedico.listagemMedico(medico);
}
public Medico consultarCodigo(Medico medico) throws ExcecaoMedico {
return controladormedico.consultarCodigo(medico);
}
public Medico consultarNome(Medico medico) throws ExcecaoMedico {
return controladormedico.consultarNome(medico);
}
public Medico consultarCrm(Medico medico) throws ExcecaoMedico {
return controladormedico.consultarCrm(medico);
}
public Medico consultarTodos() throws ExcecaoMedico {
return controladormedico.consultarTodos();
}
void listagemMedico(String[] s) {
throw new UnsupportedOperationException("Not yet implemented");
}
}[/code][/quote]
Dai eu tenho meu FormMedico onde tem uma lista para aparecer minhas consultas. Um botão de inserir onde abre um novo form do tipo JDialog onde eu vou inserir os dados.
Ai beleza.
No Form JDialog eu fiz o código lá para adicionar meu Médico mas ta dando erro.
[quote]//Declarei em cima private Fachada fachadamedico;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:
Medico adicionar = new Medico();
adicionar.setNome(campoNome.getText());
adicionar.setCodigo(campoCodigo.getText());
adicionar.setCrm(campoCrm.getText());
String[] s = new String[3];
s[0] = campoNome.getText();
s[1] = campoCodigo.getText();
s[2] = campoCrm.getText();
fachadamedico.listagemMedico(adicionar);
} catch (ExcecaoMedico ex) {
Logger.getLogger(FormCadastroMedico.class.getName()).log(Level.SEVERE, null, ex);
}
[/quote]
Dai ta dando erro ele não adicionar.
E no meu botão de consulta onde iria aparecer os dados que eu cadastrei ta assim.
[quote][code]private void BotaoConsultarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
Medico medico = new Medico();
if (!campoConsultar.getText().trim().equals("")) {
medico.setCodigo(campoConsultar.getText());
medico = fachadamedico.consultarCodigo(medico);
String[] s = new String[1];
s[0] = medico.getCodigo();
lista.setListData(s);
} else {
while (medico.getProximo() != null) {
medico = medico.getProximo();
medico = fachadamedico.consultarTodos();
}
}
} catch (ExcecaoMedico ex) {
Logger.getLogger(FormMedico.class.getName()).log(Level.SEVERE, null, ex);
}
}[/code][/quote]
Se alguem puder me ajudar. Valeu.
E se algum puder postar um projeto com algum cadastro e telas também para eu dar uma olhada pra dar uma sacada eu agradeço também.
Valeu ai galera.