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); } }