Code
class ResizeWindowListener extends MouseAdapter {
private Rectangle startSide = null;
private final JFrame frame;
public ResizeWindowListener(JFrame frame) {
this.frame = frame;
}
public void mousePressed(MouseEvent e) {
startSide = frame.getBounds();
}
public void mouseDragged(MouseEvent e) {
if(startSide==null) return;
Component c = e.getComponent();
if(c==topleft) {
startSide.y += e.getY();
startSide.height -= e.getY();
startSide.x += e.getX();
startSide.width -= e.getX();
}else if(c==top) {
startSide.y += e.getY();
startSide.height -= e.getY();
}else if(c==topright) {
startSide.y += e.getY();
startSide.height -= e.getY();
startSide.width += e.getX();
}else if(c==left) {
startSide.x += e.getX();
startSide.width -= e.getX();
}else if(c==right) {
startSide.width += e.getX();
}else if(c==bottomleft) {
startSide.height += e.getY();
startSide.x += e.getX();
startSide.width -= e.getX();
}else if(c==bottom) {
startSide.height += e.getY();
}else if(c==bottomright) {
startSide.height += e.getY();
startSide.width += e.getX();
}
frame.setBounds(startSide);
}
}
References