Camadas controle e apresentacao

Como eu conecto minha camada de controle com a de apresentacao?? Por exemplo, eu tenho lá minha GUI com os campos Nome e Cidade, como eu faço pra ser mostrado nesses campos o conteudo da camada de modelo e BD ? Eu tenho que fazer uma chamada da minha camada de modelo na GUI? tipo colocar na GUI… ClientesMod cliente = new ClientesMod() ; ?? ou eu tenho que fazer uma chamada da minha classe de controle? MeuControle controle = new MeuControle(); e daí fazer chamadas atraves dos métodos desse objeto… controle.getnome(codcliente) , get.cidade.(codlciente).
Essa ligação da camada de controle com a de apresentação que eu não entendi direito, porque, eu não tenho que fazer a apresentacao sem que ela conheça nada sobre o modelo? Mas não teria que existir uma instancia do modelo na apresentação ???
Fui claro?? Acho q expliquei tanto que não deu pra entender nada.

Se alguem tiver um exemplo em desktop eu agradeceria, porque eu to fazendo em desktop e se alguem colocar em jsp acho que vai ficar dificil de entender. :???:

Fala kra!!

Eu não sei se entendi mto bem o seu dilema, mas eu costumo tratar telas da seguinte forma…

Eu primeiro desenvolvo a tela, com todos os objetos lá, sejam JTextField, JComboBox, o que for.

Depois eu implemento métodos get para cada componente.

Também separo o acesso ao banco de dados numa outra classe.

E finalmente pra ligar as duas coisas implemento uma terceira classe, que se utiliza dos gets da tela para manipular os objetos a serem exibidos com as informações que ele consegue através da classe que manipula o BD.

É simples, mas pra coisas de pequeno porte, é bem legal.

Abraços!

alguem poderia postar um exemplo?? pode ser algo bem basico, tipo uma tela de cadastro, só com nome e telefone, pra eu ver direito como ela acessa as outras camadas.
Valew!

O que é camada de controle?

Fala FreakShow!!!

Eu fiz um exemplo bem simples e bem pequeno aqui, só pra vc ter uma idéia do que eu quis dizer. Lembrando que a classe Calculadora poderia por exemplo, acessar um BD.

package mvc;

import java.awt.*;
import javax.swing.*;

public class Visualizacao extends JFrame 
{
	// Itens Manipuláveis	
	JTextField operador1;
	JTextField operador2;
	
	JComboBox  operando;
	
	JButton	   igual;
	
	JTextField resultado;
	
	// Construtor
	public Visualizacao()
	{
		Container contentPane = this.getContentPane();
		
		this.setSize(250,50);
		
		operador1  = new JTextField(2);
		operador2  = new JTextField(2);
		operando   = new JComboBox();
		igual	   = new JButton("=");
		resultado  = new JTextField(2);
		
		contentPane.setLayout(new GridLayout(1,5));
		
		contentPane.add(operador1);
		contentPane.add(operando);
		contentPane.add(operador2);
		contentPane.add(igual);
		contentPane.add(resultado);
		
		resultado.setEnabled(false);
	}
	
	public JTextField getOperador1() 
	{
		return operador1;
	}
	
	public JTextField getOperador2() 
	{
		return operador2;
	}
	
	public JComboBox getOperando() 
	{
		return operando;
	}

	public JButton getIgual() 
	{
		return igual;
	}
	
	public JTextField getResultado() 
	{
		return resultado;
	}
}

///////////////////

package mvc;

import java.awt.event.*;
import javax.swing.*;

public class Controlador implements ActionListener
{
	Visualizacao tela;
	Calculadora  calc;
	
	JTextField op1;
	JTextField op2;
	JComboBox  opr;
	JTextField res;
		
	public Controlador()
	{
		tela = new Visualizacao();
		calc = new Calculadora();
		
		op1 = tela.getOperador1();
		op2 = tela.getOperador2();
		opr = tela.getOperando();
		res = tela.getResultado();
		
		opr.addItem("+");
		opr.addItem("-");
		
		tela.getIgual().addActionListener(this);
		
		tela.show();
	}
	
	public void actionPerformed(ActionEvent e)
	{
		int num1 = Integer.parseInt(op1.getText());
		int num2 = Integer.parseInt(op2.getText());
		int resultado = 0;
		
		String operacao = (String)opr.getSelectedItem();
				
		if (operacao.equals("+"))
		{
			resultado = calc.soma(num1,num2);
		}
		else if (operacao.equals("-"))
		{
			resultado = calc.subtrai(num1,num2);
		}
			
		String resultadoString = (new Integer(resultado)).toString();
		
		res.setText(resultadoString);
	}
	
	public static void main (String[] args)
	{
		Controlador c = new Controlador();
	}
}

///////////////////
package mvc;

public class Calculadora 
{
	public int soma(int num1,int num2)
	{
		return (num1+num2);
	}
	
	public int subtrai(int num1,int num2)
	{
		return (num1-num2);
	}
}

Valeu!!!1

rr_castaneda valew mesmo! mais explicado que isso só se voce viesse aki e me desse uma palestra! agora entendi direito como que eh!! muito obrigado mesmo!!!
:grin: :grin: :grin: :grin:

De nada!!!

Foi um tópico que rendeu bastante, e fiquei muito feliz de poder contribuir.
Valeu pelo post e pela iniciativa em trazer um tema legal.

=)