The problem is: when I press full-screen and while the window is resizing the button goes veeery big for a very short period of time and then resizes to the correct position. I’m assuming this is because setting to full-screen resizes first on one direction and then the other.
I don’t know what you want to achieve. But the common way to do such things is to use button. setBounds(x, y, width, height) in the resized() function of your parent. You can Just use getWidth() and getHeigth() if you want to know the new size of your parent window and easily calculate the position and size of your button.
I don’t think so. Setting the bounds is one action.
I think there is a backing mechanism at work. Either your project is using setBufferedToImage(true) somewhere, which results in scaling the image before resized() and a subsequent paint() is executed.
Or that could even be an optimisation of the OS a layer below.