A window that is not contained inside another window is a frame. Frames are containers, which means that a frame can contain other GUI components. When a frame object is created, it is 0x0 pixels and invisible. You must call the show or setVisible methods to actually make the frame appear on the screen. Then, you must set the size of the frame; setBounds is useful because it sets the size and position of the frame (this has the same effect as a call to setSize followed by setLocation). A WindowListener must be added to be able to respond to actions on the frame (e.g., when the close button is clicked).