Como deixar a interface gráfica totalmente independente do restante do programa?[RESOLVIDO]

Olá a todos, sou novo aqui no GUJ e a minha duvida é seguinte:

Estou fazendo um trabalho de Programação orientada a objetos com interface gráfica, o trabalho foi divido em duas etapas primeiro fizemos apenas no console e agora temos que adicionar a interface gráfica. Porém mostrei o professor o meu código e ele disse que eu não posso chamar métodos do restante do programa da maneira que fiz, ou seja que a GUI não deve nem saber que o restante do programa existe. Porém como já era esperado por mim, não teve a mínima boa vontade de mostrar como eu poderia fazer corretamente e simplimente disse como todos os professores universidades federais que eu conheço, procura no google.
Eis aqui um pequeno trecho do meu programa o qual exemplifica bem a reclamação do professor, de não poder chamar métodos diretamente como estou fazendo:

//Método de outra classe chamado na interface gráfica


public static void excluirAdministrador(JTextField campoNome, JTextArea resultado) {  // O que passar aqui se nao posso fazer assim?
		int x = 0;
		x = buscarAdministrador(campoNome, resultado);
		
		if (x >= 0){
			PersistirAdministrador.admistradorList.remove(x);
			resultado.setText("");
			resultado.append("Exclusao efetuada com sucesso!");	
		}
		else{
			resultado.setText("");
			resultado.append("Nao foi possivel efetuar a exclusao!");	
			}
	}
// pequeno trecho da classe que contém a interface gráfica
JLabel titulo = new JLabel();
		titulo.setText("Complete o campo abaixo para excluir um cliente.");
		titulo.setSize(480, 40);
		titulo.setLocation(30, 20);
		excluirVend.getContentPane().add(titulo);
		
		botaoExcluir.addActionListener(
				new ActionListener(){
					public void actionPerformed(ActionEvent arg4) {
					resultado.setText("");	
					Administrador.excluirAdministrador(campoNome, resultado); // Eis aqui a minha principal dúvida
					}
				});	

Sendo assim gostaria de saber uma forma que posso fazer com que a GUI seja totalmente independente dos outros métodos usando este código que postei como exemplo. Desde já agradeço

Isso é Swing? Swing já não usa arquitetura MVC? Não conheço muito Swing mas você deve pesquisar sobre Swing com padrão de arquitetura MVC ou MVP. Ai tu vê qual padrão te atende melhor.

Nesse código ai você não deve passar um objeto da view como parâmetro, ao invés de JTextField deveria passar um objeto de uma classe que seria Administrador que vai ter as propriedades Nome e etc. Estude também sobre OOP.

O que ele deve estar querendo é que vc faça no padrão MVC puro, onde o controller instancia o Model e o View.

Esse modelo de View -> Controller -> Model -> DAO. É MVP - Model View Presenter.

Leia.


http://javafree.uol.com.br/artigo/871446/Apresentando-ModelViewPresenter-o-MVC-focado-na-visualizacao.html

Até!!!

Eu particularmente sempre uso um modelo MVC
dividindo meu projeto em 3 pacotes(camadas):

*apresentacao => é onde vai as classes que estarão relacionadas com a interface grafica.

*negocio => é onde vai todas as classes que fazem parte da logica do programa, ou seja, toda parte funcional vai aqui.

*persistencia => é o pacote onde irão as classes responsaveis pelo armanezamento de dados, por exemplo classes responsaveis pela inserção, alteracao e exclusaõ de dados do banco(ou de arquivos)

Obs: para utilizar este modelo, vc precisara criar uma classe no pacote negocio, que faça contato com a camada de persistencia e com a camada de apresentacao.

Faça assim:

Obrigado pelas dicas, vamos ver agora se o professor aceita.