so I made a custom shaped JFrame using setShape(s);
and I got it to look how I wanted the problem when you set the JFrame to be undecorated you can\'t drag the Fram
evt.getX()
gives coordinates relative to frame. You should use evt.getXOnScreen()
in stead.Replace
void updateFrameCoords(MouseEvent e) {
int dx = e.getX() - initialPressedX;
int dy = e.getY() - initialPressedY;
for (int i = 0; i < OCTAGON_COORDS_X.length; i++) {
OCTAGON_COORDS_X[i] += dx;
OCTAGON_COORDS_Y[i] += dy;
}
updateFrame();
}
with
void updateFrameCoords(MouseEvent e) {
int dx = e.getXOnScreen() - initialPressedX;
int dy = e.getYOnScreen() - initialPressedY;
for (int i = 0; i < OCTAGON_COORDS_X.length; i++) {
OCTAGON_COORDS_X[i] += dx;
OCTAGON_COORDS_Y[i] += dy;
}
updateFrame();
initialPressedX = e.getXOnScreen();
initialPressedY = e.getYOnScreen();
}
Same in mousePressed
event.
Good luck.