Dúvida com MVC

Bom dia galera
Estou com uma dúvida sobre MVC. O que aprendi na faculdade é que a tela captura o evento, e passa para o controle tratar. Mas a forma com que o controle lida com isso achei meio confusa. O que tenho agora é o seguinte:

public class ControleSetor implements ActionListener{
private JFrame tela = null;
...
	public ControleSetor(JFrame tela) throws Exception{
		...
		this.tela = (TelaSetor)tela;
	}
	public void actionPerformed(ActionEvent e) {
		if( e.getActionCommand().equals("Incluir") ){
			JPanel painelPrincipal = (JPanel)tela.getContentPane();
			JPanel painelCentral = (JPanel)painelPrincipal.getComponent(1); 
			JTextField txtCodSetor = (JTextField) painelCentral.getComponent(1);
			JTextField txtNomeSetor = (JTextField) painelCentral.getComponent(3);
			JOptionPane.showMessageDialog(null, txtCodSetor.getText() + "\n" + txtNomeSetor.getText());
		}
	}

Achei muito confuso ter que chamar getComponent() pra chegar aos componentes da tela.

Eu vi que o Eclipse gera uns metodos get pros componentes:

private JTextField getTxtCodigoSetor() { if (txtCodigoSetor == null) { txtCodigoSetor = new JTextField(15); } return txtCodigoSetor; }
E perguntei pro professor se eu poderia usar esse metodo pra conseguir os objetos, ao invés de usar getComponent(), ele disse que não dá, porque apenas o valor é passado.
Mas eu, não satisfeito, resolvi tentar :twisted:
E deu certo!

public void actionPerformed(ActionEvent e) { if( e.getActionCommand().equals("Sair") ) tela.dispose(); else if( e.getActionCommand().equals("Incluir") ){ JPanel painelPrincipal = (JPanel)tela.getContentPane(); JTextField txtCodSetor = ((TelaSetor)tela).getTxtCodigoSetor(); txtCodSetor.setText("aaa"); } }
Passando a tela para o construtor do controle, e pegando o JTextField a partir dessa tela com um get da propria tela, eu consegui alterar o texto desse componente.
Tem algum problema em fazer isso?
Outra duvida, o método getTxtCodigoSetor() que o eclipse gera é private, mas eu consigo chamar ele a partir do controle, porque?