رسم خط با استفاده از رویداد ماوس در جاوا
دوشنبه, ۲۲ تیر ۱۳۹۴، ۱۰:۵۳ ب.ظ
با استفاده از این سورس کد می تونین روی فریم ایجاد شده یک رویداد ماوس قرار بدین که مختصات ماوس رو فریم را مشخص کند و خط را برای شما رسم کند...
public class DrawLineByMouseEvent extends JFrame {
Line2D line = new Line2D.Double();
Point p1, p2;
boolean draggable = false;
public DrawLineByMouseEvent() {
setTitle("Draw Line By Mouse Event");
setSize(800,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setUndecorated(true);
setLocationRelativeTo(null);
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e){
p1 = new Point(e.getPoint());
draggable = true;
}
public void mouseReleased(MouseEvent e){
draggable = false;
System.out.println("p1 : (" + p1.getX() +","+p1.getY() + ") & p2 : (" + p2.getX()+","+p2.getY()+")");
}
});
addMouseMotionListener(new MouseAdapter() {
public void mouseDragged(MouseEvent e){
if(draggable) {
p2 = new Point(e.getPoint());
line = new Line2D.Double(p1, p2);
repaint();
}
}
});
}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
if(line != null) {
g2d.draw(line);
}
}
public static void main(String[] args) {
new DrawLineByMouseEvent().setVisible(true);
}
}
منبع : it3du.ir
۹۴/۰۴/۲۲