MVC - os métodos e os eventListeners devem ficar na camada View?

1 resposta
Erick_Ribeiro

Olá! Estou fazendo um projeto usando MVC, porém me surgiu várias dúvidas conforme eu ando com o projeto…
Primeiro:
A minha interface gráfica tem vários componentes com eventos - uns 25 componentes ±.
Onde eu devo colocar os métodos dos componentes (botoes, etc) e os Event Listeners: no controller, deixar na vew, ou criar uma classe separada?
por enquanto estou usando eles na própria camada de Visão. Exemplo:

[color=red][size=18]View.java[/size][/color]

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

public class View extends JFrame {
	//Elementos
	private JPanel painel = new JPanel();
	private JButton botao = new JButton("Click me");

	View() {
		painel.add(botao);
		getContentPane().add(painel);

		// Tratamento de eventos
		botao.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				imprimir();
			}
		});
	}
	//Métodos
	public void imprimir() {
		System.out.println("Button clicked");
	}
}

[size=18][color=red]Principal.java[/color][/size]

public class Principal {
	public static void main(String[] args) {
		View visao = new View();
		visao.setDefaultCloseOperation(EXIT_ON_CLOSE);
		visao.setSize(480, 320);
		visao.setVisible(true);
	}
}

1 Resposta

H

Eu deixo essas duas classes em uma só, Abraços

Criado 18 de agosto de 2014
Ultima resposta 18 de ago. de 2014
Respostas 1
Participantes 2