# Jframe

JFrame es una clase utilizada en Swing (biblioteca gráfica) para generar ventanas sobre las cuales añadir distintos objetos con los que podrá interactuar o no el usuario. A diferencia de JPanel, JFrame posee algunas nociones típicas de una ventana como minimizar, cerrar, maximizar y poder moverla.

## Herencia de JFrame

JFrame es una subclase que extiende de la clase Frame y que implementa WindowConstants, Accessible y RootPaneContainer.

## Constructores

Existen 4 tipos de constructores para inicializar un objeto JFrame:
* JFrame: Construye un nuevo marco que es inicialmente invisible.
* JFrame(GraphicsConfiguration): Crea una ventana con la configuración gráfica especificada en el objeto GraphicsConfiguration.
* JFrame(Cadena de texto): Crea una nueva ventana a la que se le pone por título la cadena de texto que se le indique.
* JFrame(Cadena de texto, GraphicsConfiguration): Crea una nueva ventana con el título y la configuración gráfica especificados.

## Métodos propios de la clase

Además de los métodos heredados, JFrame implementa una serie de métodos propios de esta, que se describen a continuación:
* addImpl(Component comp, Object constraints, int index): Añade el componente especificado al JFrame.
* createRootPane: Crea un Panel por defecto por medio de una llamada al constructor.
* frameInit: Llama a los constructores para inicializar el JFrame correctamente.
* getAccessibleContext: Obtiene el AccessibleContext asociado a dicho JFrame.
* getContentPane: Devuelve el contenido del JFrame.
* getDefaultCloseOperation: Devuelve la operación por defecto cuando se cierra el JFrame.
* getGlassPane: Devuelve el objeto glassPane que corresponde a este JFrame.
* getGraphics: Obtiene las características gráficas del JFrame.
* getJMenuBar: Devuelve la barra de menús del JFrame.
* getLayeredPane: Obtiene el objeto layeredPane del JFrame.
* getRootPane: Obtiene el objeto rootPane del JFrame.
* getTransferHandler: Devuelve el objeto transferHandler del JFrame.
* isDefaultLookAndFeelDecorated: Comprueba si la apariencia de la ventana JFrame es la apariencia por defecto; en caso afirmativo será cierto.
* isRootPaneCheckingEnabled: Devuelve un valor de cierto si las llamadas add y setLayout se remiten a la contentPane.
* paramString: Devuelve una representación en cadena de texto del JFrame.
* processWindowEvent(WindowEvent e): Procesa los eventos que se producen en el JFrame.
* remove(Component comp): Elimina el componente que se especifica de la ventana JFrame.
* repaint(long time, int x, int y, int width, int height): Redibuja el rectángulo especificado del JFrame en el tiempo indicado en milisegundos.
* setContentPane(Container contentPane): Establece el contentPane especificado en JFrame.
* setDefaultCloseOperation(int operation): Especifica la operación por defecto al cerrar el JFrame.
* setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated): Establece la apariencia que debe tener el JFrame, como bordes, botones para distintos usos, título...
* setGlassPane(Component glassPane): Establece las propiedades del objeto glassPane.
* setIconImage(Image image): Define el icono que se mostrará en la parte superior izquierda del marco del JFrame.
* setJMenuBar(JMenuBar menubar): Establece la barra de menús del JFrame.
* setLayeredPane(JLayeredPane layeredPane): Define el objeto layeredPane del JFrame.
* setLayout(LayoutManager manager): Establece la forma en que se mostrarán los distintos objetos añadidos al JFrame.
* setRootPane(JRootPane root): Establece el rootPane de la ventana .
* setRootPaneCheckingEnabled(boolean enabled): Establece si las llamadas add y setLayout se remiten o no a la contentPane.
* setTransferHandler(TransferHandler newHandler): Define el transferHandler, que es un mecanismo de soporte de transferencia de datos dentro del JFrame.
* update(Graphics g): Hace una llamada al método paint(g).