What I am currently doing is overriding the reshape method in my SimpleApplication:
private BaseScreen currentState = null;
private void changeToScreen(BaseScreen newScreen) {
stateManager.detach(currentState);
currentState = newScreen;
stateManager.attach(currentState);
}
@Override
public void reshape(int width, int height) { // this method says Internal use only!
super.reshape(width, height);
currentState.resizeGui(width, height);
}
Where BaseScreen is an abstract class that extends AbstractAppState (it’s basically just how I manage screens rather than bundling it all into SimpleApplication).
I cannot see an easier way to do this and I am wondering if I am missing something.