Vous êtes sur la page 1sur 5

Tema: Tarea - Investigación formativa 01 U03

Asignatura: Programación Visual

Alumno: Chinchay Yajahuanca Karol Josef

Docente: Mgr. Ing. García Córdoba Eddy Javier

Ciclo: III

Sección: B
Objetos Contenedores JFrame, JInternalFrame y JDialog
Estos componentes hacen parte del paquete javax.swing, básicamente nos permiten crear
Ventanas para nuestras aplicaciones y en ellas alojar otros componentes para darle cuerpo
a la interfaz de usuario, en si tienen comportamientos similares y a simple vista pueden
parecer iguales, pero son componentes distintos.

La Clase JFrame

Habitualmente la clase JFrame se emplea para crear la ventana principal de una


aplicación. Es una subclase de java.awt.Frame , que a su vez es una especialización de
java.awt.Window . Es una ventana con marco que incluye los controles habituales de
cambio de tamaño y cierre. (por ejemplo, cerrar, iconizar, maximizar). Tiene un panel
raíz (de la clase JRootPane ) que gestiona el interior de la ventana y es el elemento
superior de la jerarquía de composición para todos sus componentes. En este panel raíz
están incluidos, entre otros, el panel de contenido (que siempre está presente) y, si existe,
la barra de menús ( JMenuBar ). Los componentes gráficos no se añaden directamente al
JFrame sino a su panel de contenido. De la misma manera el gestor de disposición, que
aplica el diseño de presentación de los componentes, se debe aplicar a este panel de
contenido.

La Clase JInternalFrame

El JInternalFrame es una ventana especial que ni es ventana ni es nada. De hecho, no


hereda de Window. En realidad es un componente java que se dibuja dentro de otro
componente, pero adornado con la barra de título de una ventana y sus botones de
maximizar, minimizar y cerrar. Puede incluso arrastrarse y modificarse de tamaño
siempre que se mete dentro del componente adecuado.

El sitio bueno para meter los JInternalFrame es el JDesktopPane. Este panel admite
JInternalFrame y sabe manejarlos.

JFrame ventana = new JFrame();


JDesktopPane desktop = new JDesktopPane();
ventana.getContentPane.add(desktop);
JInternalFrame internal = new JInternalFrame();
desktop.add(internal);

En este código el JInternalFrame se comportará como una ventana, pero que no puede
salirse del JDesktop que la contiene.
La Clase JDialog
La clase JDialog es la clase raíz de las ventanas secundarias que implementan cuadros de
diálogo en Swing. Se denominan ventanas secundarias porque dependen de una ventana
principal (o con marco, normalmente de clase JFrame ) y si la ventana principal se cierra,
se iconiza o se desiconiza, las ventanas secundarias realizan la misma operación de forma
automática. Es una especialización de Dialog , pero al igual que JFrame incorpora un
panel raíz, con sus correspondientes paneles de contenido y menús, y también permite
asociar un comportamiento por defecto cuando el usuario decide cerrar la ventana. Como
se ha descrito en Dialog estas ventanas pueden ser modales o no modales. En la Tabla
11.7 se presentan los métodos de utilidad más frecuentes de JDialog(1).

JFrame y JDialog

Los dos tipos de ventanas principales que tenemos en java son JFrame y JDialog. Hay
varias diferencias entre ellas y en función de estas diferencias vamos a ver para qué sirven

✓ Si instanciamos un JFrame, en la barra de abajo de windows (creo que se llama


"barra de herramientas") nos aparece un nuevo "botoncito" correspondiente a
nuestra aplicación. Si instanciamos un JDialog, no aparece nada.
✓ Un JFrame tiene un método setIconImage() para cambiar el icono por defecto
de la taza de café. JDialog no tiene este método.
✓ Un JDialog admite otra ventana (JFrame o JDialog) como padre en el
constructor. JFrame no admite padres.
✓ Un JDialog puede ser modal, un JFrame no.

Todo esto nos indica lo siguiente:

➢ Un JFrame debe ser la ventana principal de nuestra aplicación y sólo debe


haber una.
➢ Las ventanas secundarias de nuestra aplicación deben ser JDialog.

JFrame

Un JFrame es un contenedor que se comporta como una ventana, la cual puede tener
propiedades físicas estas propiedades pueden estar dadas por el tamaño, color y posición,
entre otras. Para implementar un JFrame es necesario crear una clase que herede de la
clase JFrame del paquete javax.swing.

La sintaxis para crear un JFrame es la siguiente:

Package interfaz grafica;

import javax.swing.JFrame;

import javax.swing.WindowConstants;

public class MiJFrame extends JFrame {

public static void main(String[] args) {

MiJFrame frame = new MiJFrame();

frame.setVisible(true);

public MiJFrame(){

initGUI();

} private void initGUI() {

SetDefaultCloseOperation(

windowConstants.DISPOSE_ON_CLOSE);

setTitle(“Mi JFrame”);

setSize(400, 300);

Al ejecutar la aplicación se despliega el JFrame con tamaño 400 pixeles de ancho y 300
pixeles de alto y titulo Mi JFrame. El método setDefaultCloseOperation permite
configurar el JFrame para que al dar clic en la X superior derecha, el JFrame se cierre.

JDialog
Este contenedor representa una ventana de tipo Ventana de diálogo, también puede ser
un contenedor principal aunque es mas recomendable dadas sus propiedades, que sea
usada como ventana secundaria, es decir, un JFrame como ventana Principal y el resto
de ventanas como un JDialog

La sintaxis para crear un JDialog es la siguiente:

public class VentanaConfirmacion extends JDialog


{
private Container contenedor;

public VentanaConfirmacion(){
contenedor=getContentPane();
contenedor.setLayout(null);
//Asigna un titulo a la barra de titulo
setTitle("CoDejaVu : Titulo Del JDialog");
//tamaño de la ventana
setSize(300,200);
//pone la ventana en el Centro de la pantalla
setLocationRelativeTo(null);
}}
JInternalFrame

Un JInternalFrame es un contenedor que se comporta como una ventana interna, es


decir, una ventana que se puede abrir solo dentro de un JFrame .

A través de un JInternalFrame es posible implementar aplicaciones MDI ( Multiple


Interface Document ), debido a que es posible abrir varios JInternalFrame dentro de un
JFrame , en donde cada uno de ellos provee funcionalidades independientes a la
aplicación. Para que un JFrame pueda contener un JInternalFrame es necesario tener
dentro del JFrame otro contenedor especial denominado JDesktopPane . Este
contenedor se adiciona al JFrame con la siguiente sintaxis:

JDesktopPane desktopPane = new JDesktopPane();

getContentPane().add(desktopPane);

Desde el JFrame debe crearse un instancia al JInternalFrame . Para adicionar la


instancia al JFrame se debe hacer a través del JDesktopPane con la siguiente sintaxis:

FInterno frame = new FInterno();

desktopPane.add(frame);(2).

REFERENCIAS BIBLIOGRÁFICAS
1. Sánchez Allende, Jesús, Huecas Fernández-Toribio, Gabriel, Fernández Manjón,
Baltasar. Java 2: iniciación y referencia (2a. ed.) [Internet]. Madrid: McGraw-
Hill España; 2005. [Citado 2017; Noviembre 02]. Available from: ProQuest
Ebook Central
2. Flórez Fernández, Héctor Arturo. Programación orientada a objetos usando java
[Internet]. Bogotá: Ecoe Ediciones; 2012. [Citado 2017; Noviembre 02].
Available from: ProQuest Ebook Central

Vous aimerez peut-être aussi