PIZiadas gráficos

PIZiadas gráficos

Meu mundo está dentro.

Programação Gráfica: Interação : Eventos de mouse [JAVA]

mouseEventDepois criar a GUI básico e motor de animação, introduzir os conceitos básicos de interação através da incorporação de eventos modelo de mouse.

A técnica será a de gerar um evento ou acontecimento cada vez que você interagir com o mouse. Este evento será capturado por um dos nossos módulos de software, processá-lo e gerar alguma ação.

O primeiro passo é entender como esses eventos e gerar, mais tarde, incorporar ações mais elaboradas. Por agora é suficiente para determinar o tipo de evento que ocorre ea posição na tela onde fizemos.

O programação orientada a eventos é um Paradigma de programação em que tanto a estrutura como a execução dos programas são determinados pelos eventos que ocorrem no sistema, definido pelo usuário ou que causam.

Para entender a programação orientada a eventos, que se opõem a ela o que não é: durante a programação sequencial (ou estruturada) é o programador que define qual será o fluxo do programa, na programação orientada a eventos é o usuário ou o que você está operando o programa, que dirige o fluxo do programa. Embora a programação seqüencial pode ser programa de intervenção agente externo, essas intervenções ocorrer quando o programador determinou, e não, em qualquer momento, como no caso de programação orientada a eventos.(W)

Implementar a interface ouvinte de eventos

Vamos implementar o sistema de eventos em uma única classe biblioteca de gráficos para evitar complicar o modelo inicialmente. A primeira coisa que vamos fazer é mudar a declaração da classe responsável pela manutenção do banco de dados e objetos gráficos pintura: “BlackBoard”. Indique rotulada “implementa” que esta classe é capaz de ouvir o mouse.

public class Lousa estende-se Lona implementa MouseListener{

A nova interface nos obriga a adicionar novas bibliotecas Java chamada para localizar os arquivos que implementam esta interface. O que fazemos com a palavra reservada “importar”.

importar java.awt.event.MouseListener;

Será necessário implementar os métodos definidos na interface, bem como da classe “MouseEvent” que se passa como parâmetro a estes métodos. Por agora simplesmente declarar sem adicionar qualquer funcionalidade.

	public void mouseClicked(MouseEvent arg0) {
		// Método TODO Auto-generated stub
	}
	public void mouseEntered(MouseEvent arg0) {
		// Método TODO Auto-generated stub
	}
	public void mouseExited(MouseEvent arg0) {
		// Método TODO Auto-generated stub
	}
	public void mousePressed(MouseEvent arg0) {
		// Método TODO Auto-generated stub
	}
	public void mouseReleased(MouseEvent arg0) {
		// Método TODO Auto-generated stub
	}

Registro de Evento

Vamos registrar um evento do mouse ocorre sempre. No construtor da classe ou em um método start irá juntar-se a chamada “addMouseListener” para indicar que queremos adicionar o ouvinte.

O parâmetro passado é o nome da classe que escuta o rato. No nosso caso, indicam que é da mesma classe que está registrando o evento para ser alertado quando ocorre. Isto é feito com a etiqueta “este“.

	público Lousa(){
		este.addMouseListener(este);
	}

Gestão de Eventos

Definir um par de variáveis ​​que irá armazenar as coordenadas da posição da tela onde o mouse foi pressionado

	int privado lastX = 0;
	int privado Lasty = 0;

Implementar uma das funções acima, por exemplo, que é executado toda vez que você apertou o botão do mouse “mouseClicked”. Por agora, vamos manter apenas as coordenadas onde foi pressionado, embora pudéssemos ter complicado o programa com funcionalidades adicionais.

Estas coordenadas são dadas no objeto ou evento que foi passado para a função, objeto “MouseEvent”

	public void mouseClicked(MouseEvent arg0) {
		lastX = arg0.getX();
		Lasty = arg0.getX();
	}

Modifique o método responsável por desenhar na tela gráfica para pintar algo sobre a posição onde o mouse foi pressionado. É a aplicação mais simples nos permite verificar graficamente que capturou e processou o evento do mouse.

	public void paintOffScreen(Graphics g){
		Enumeração enum = bd.elements();
		Objeto ob;
		enquanto(enum.hasMoreElements()){
			ob = enum.nextElement();
			se(ob instanceof SimpleDrawable){
				((SimpleDrawable) se).pintar(g);
			}
		}
		paintMousePosition(g);
	}

Responsável por esta função é “paintMousePosition”, cuja implementação está a escrever graficamente as coordenadas armazenadas da posição do mouse, pela função “drawString”.

	private void paintMousePosition(Graphics g) {
		g.drawString("("+lastX  ","+Lasty  ")", lastX, Lasty);
	}
JAVA

Curso JAVA