Ayuda con dimenciones

Hola soy nuevo en Java y tengo que resolver un asunto:
necesito cambiar las dimenciones de un control, al poner el mouse cerca del borde, actualmente puedo cambiar el lado derecho, la esquina inferior derecha y el lado de abajo de un botón, (Swing), con las siguientes lineas en el evento mousedragged:

private void JBTProbarMouseDragged(java.awt.event.MouseEvent evt) {
moverycambiar(evt);
}

private void moverycambiar(java.awt.event.MouseEvent evt){
//SECCION PARA MOVER EL BOTÓN
if((Boton==1) && (arrastrando ==1)&&(lado==0)){//Si el boton es el 1 (botón default) y el arrastre se ha comanzado entonces arrastra
// //FUNCIONA!!! SE MUEVE EL CONTRÓL!!! CON EL MOUSE
this.JBTProbar.setLocation((int)(evt.getX()+ this.JBTProbar.getBounds().getX() - this.P.getX()),(int)(evt.getY()+ this.JBTProbar.getBounds().getY() - this.P.getY()));

}
//SECCIÓN PARA CAMBIAR LAS DIMENCIONES DEL BOTÓN
if((Boton==1) && (arrastrando ==1)&&(lado==1)){//Cambiar el lado derecho
this.JBTProbar.setBounds(this.JBTProbar.getBounds().x,this.JBTProbar.getBounds().y,this.JBTProbar.getBounds().width+ evt.getX()-this.JBTProbar.getBounds().width,this.JBTProbar.getBounds().height);//Linea para cambiar el Width con el mouse
}
if((Boton==1)&&(arrastrando==1)&&(lado==2)){//cambiar la base
this.JBTProbar.setBounds(this.JBTProbar.getBounds().x,this.JBTProbar.getBounds().y, this.JBTProbar.getBounds().width,this.JBTProbar.getBounds().height+evt.getY()-this.JBTProbar.getBounds().height);//Linea para cambiar el Height con el mouse
}
if((Boton==1)&&(arrastrando==1)&&(lado==5)){//Cambiar la diagonal inferior derecha
this.JBTProbar.setBounds(this.JBTProbar.getBounds().x,this.JBTProbar.getBounds().y,this.JBTProbar.getBounds().width+ evt.getX()-this.JBTProbar.getBounds().width,this.JBTProbar.getBounds().height+evt.getY()-this.JBTProbar.getBounds().height);//Linea para cambiar la esquina inferior derecha con el mouse
}
}

pero tengo problemas con el lado superior del botón, el lado izquierdo y la esquina superior izquierda del botón, he intentado ya algunas cosas siguiendo lo planteado para los otros lados, pero parece que hay que compensar las medidas en los lados contrarios para que no se muevan al intentar cambiar el lado superior y/o el lado izquierdo, les agradezco de antemano su ayuda Saludos.