import java.awt.Component;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
public class Resizable extends Component implements MouseListener, MouseMotionListener {
private int startX, startY;
private boolean dragging = false;
public Resizable() {
addMouseListener(this);
addMouseMotionListener(this);
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
startX = e.getX();
startY = e.getY();
dragging = true;
}
public void mouseReleased(MouseEvent e) {
dragging = false;
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
if (dragging) {
int newX = getX() + e.getX() - startX;
int newY = getY() + e.getY() - startY;
setLocation(newX, newY);
}
}
public void mouseMoved(MouseEvent e) {
}
}
Resizable resizableComponent = new Resizable();
resizableComponent.setSize(200, 200);
resizableComponent.setVisible(true);