This example implements methods to iconify, deiconify, minimize, and maximize a frame. In general, you should not make calls such as Frame.setExtendedState(Frame.ICONIFIED) because this would destroy the maximized state of the frame. Instead, the Frame.ICONIFIED state should be combined with the current maximized state of the frame.
// This method iconifies a frame; the maximized bits are not affected.
public void iconify(Frame frame) {
int state = frame.getExtendedState();
// Set the iconified bit
state |= Frame.ICONIFIED;
// Iconify the frame
frame.setExtendedState(state);
}
// This method deiconifies a frame; the maximized bits are not affected.
public void deiconify(Frame frame) {
int state = frame.getExtendedState();
// Clear the iconified bit
state &= ~Frame.ICONIFIED;
// Deiconify the frame
frame.setExtendedState(state);
}
// This method minimizes a frame; the iconified bit is not affected
public void minimize(Frame frame) {
int state = frame.getExtendedState();
// Clear the maximized bits
state &= ~Frame.MAXIMIZED_BOTH;
// Maximize the frame
frame.setExtendedState(state);
}
// This method minimizes a frame; the iconified bit is not affected
public void maximize(Frame frame) {
int state = frame.getExtendedState();
// Set the maximized bits
state |= Frame.MAXIMIZED_BOTH;
// Maximize the frame
frame.setExtendedState(state);
}