package cs.paint;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
@SuppressWarnings("serial")
public class DragLabel extends JFrame implements MouseListener, MouseMotionListener{
JLabel label;
boolean inDrag = false;
public static void main(String[] args) {
new DragLabel();
}
public DragLabel() {
setSize(300, 200);
//setLayout(null);
label = new JLabel("Blabla");
//label.setBounds(0, 0, 50,20);
add(label);
this.addMouseListener(this);
this.addMouseMotionListener(this);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("x="+e.getX());
System.out.println("y="+e.getY());
System.out.println("width="+label.getWidth());
System.out.println("height="+label.getHeight());
System.out.println("XLabel="+label.getX());
System.out.println("YLabel="+label.getY());
if((e.getX()-label.getX())>=0 && (e.getX()-label.getX())<=label.getWidth()) {
System.out.println("IN1");
if((e.getY()-label.getY())>=0 && (e.getY()-label.getY())<=label.getHeight()) {
System.out.println("IN2");
inDrag = true;
}
}
}
@Override
public void mouseReleased(MouseEvent e) {
inDrag = false;
}
@Override
public void mouseDragged(MouseEvent e) {
System.out.println("OUT");
if(inDrag) {
System.out.println("IN");
label.setBounds(e.getX(), e.getY(),50,20);
//label.setLocation(e.getX(), e.getY());
}
}
@Override
public void mouseMoved(MouseEvent e) {
}
}
Niciun comentariu:
Trimiteți un comentariu