Exercicio 12.28 deitel como programar java edicao 4

0 respostas
bvaladao

E aí Galera, consegui fazer uma coisa, mas ta dificil, voces podem me ajudar?
Olha o meu código:
Produção de efeito “Elástico”, quando o usuário arrasta o mouse o tamanho do retangulo aumenta ou diminui dependendo as regioes que ele arrastar.Igual na area de trabalho do windows que fica um retangulo pontilhado wusndo vc faz isso.Obrigado

package exe1228;

import java.awt.BorderLayout;

import java.awt.Graphics;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

import javax.swing.JLabel;

/**
*

  • @author breno
    */
    public class MouseTracker extends JFrame implements MouseListener, MouseMotionListener {
private JLabel statusBar, area;

public String tipoDesenho;

public int x, y, a, l;
public MouseTracker() {

super(Demonstração dos eventos do Mouse.”);

statusBar = new JLabel();

area = new JLabel();

getContentPane().add(statusBar, BorderLayout.SOUTH);

addMouseListener(this);
addMouseMotionListener(this);

setSize(275, 100);

setVisible(true);

}

@Override
public void paint(Graphics g) {

super.paint(g);

g.drawRect(x, y, l, a);

}
public void mouseClicked(MouseEvent event) {

statusBar.setText("Clicado a [ " + event.getX() + , + event.getY() + ]);

}
public void mousePressed(MouseEvent event) {

statusBar.setText("Pressionado a [ " + event.getX() + , + event.getY() + ]);

x = event.getX();

y = event.getY();

}
public void mouseReleased(MouseEvent event) {

if (event.getX() > x && event.getY() > y) {

l = event.getX() - x;

a = event.getY() - y;
}

if (event.getX() < x && event.getY() < y) {

l = x - event.getX();

a = y - event.getY();
}

repaint();

}
public void mouseEntered(MouseEvent event) {

statusBar.setText(Mouse Dentro da janela);

}
public void mouseExited(MouseEvent event) {

statusBar.setText(Mouse Fora da janela);

}
public void mouseDragged(MouseEvent event) {

statusBar.setText(Arrastado a [” + event.getX() + “,” + event.getY() + “]”);

if (event.getX() > x && event.getY() > y) {

l = event.getX() - x;

a = event.getY() - y;
}

if (event.getX() < x && event.getY() < y) {

l = x - event.getX();

a = y - event.getY();

}

repaint();

System.out.println(Largura :” + l + “\n);

System.out.println(Altura :” + a);

}

public void mouseMoved(MouseEvent event) {

statusBar.setText(Movido a [ + event.getX() + , + event.getY() + ]);

}
public static void main(String args[]) {

MouseTracker aplicacao = new MouseTracker();

aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}
Criado 5 de agosto de 2008
Respostas 0
Participantes 1