Sie sind auf Seite 1von 4

TOPICOS AVANZADOS DE PROGRAMACIÓN

TECNOLÓGICO Instituto
Ingeniería en Sistemas Computacionales
NACIONAL Tecnológico
Unidad I “Interfaz Grafica del Usuario
DE MÉXICO de la Costa Grande
(Eventos)”

Viernes 09 de Febrero de 2018


Ejemplo: ISCTAPU1EJEM001C
/******************************************************************
Nombre del programa: ISCTAPU1EJEM001C.java
Fecha de programacion: 09 de Febrero de 2018
Autor:
Objetivo: Ejemplo de creacion de una ventana de clase principal de
ISCTAPU1EJEM001C que hereda las caracteristicas de la clase
JFrame con la creacion y asignacion de un contenedor principal
de JPanel que almacenara los objetos de varias clases pero sin
posicionamiento y organizador por default
******************************************************************/

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;

public class ISCTAPU1EJEM001C{


public ISCTAPU1EJEM001C() {
// Declaracion de variables referencials de clase
// JFrame su objetivo es Ventana principal
JFrame Ventana= new JFrame();
// JPanel us objetivo es contenedor principal
JPanel JPPanel = new JPanel();
// JLabel su objetivo es componente creacion de un objeto
JLabel JLEtiqueta = new JLabel();

// Asigna un texto al objeto JLEtiqueta


JLEtiqueta.setText("Hola bienvenido al mundo de la programacion de las GUI");

// Agrega el objeto etiqueta al panel


JPPanel.add(JLEtiqueta);

Ventana.setTitle("ISCTAPU1EJEM001C");

// Agrega el Contener principal JPPanel a la Ventana


Ventana.add(JPPanel);

// Ajusta el tamaño de la ventana al mínimo necesario


// de acuerdo a los componentes
Ventana.pack();

Ventana.setDefaultCloseOperation(Ventana.EXIT_ON_CLOSE);

// Asigna el estado de visibilidad de la ventana a verdadero


// para poder visualizarla
Ventana.setVisible(true);
}

public static void main(String[] args) {


new ISCTAPU1EJEM001C();
}

Docente: Carlos Baltazar Oliva Enero – Junio 2018 17


TOPICOS AVANZADOS DE PROGRAMACIÓN
TECNOLÓGICO Instituto
Ingeniería en Sistemas Computacionales
NACIONAL Tecnológico
Unidad I “Interfaz Grafica del Usuario
DE MÉXICO de la Costa Grande
(Eventos)”

Resultado

Ejercicio: ISCTAPU1EJER001C

Aplicar la investigación que se dejo en la clase anterior

Practica: ISCTAPU1PRAC001C

Aplicar la investigación que se dejo en la clase anterior, asi como agregar el código para que cada vez que se
ejecute el color de fondo sea diferente y el color de letra sea diferente

Ejemplo: ISCTAPU1EJEM001D
/******************************************************************
Nombre del programa: ISCTAPU1EJEM001D.java
Fecha de programacion: 09 de Febrero de 2018
Autor:
Objetivo: Ejemplo de creacion de una ventana de clase principal de
ISCTAPU1EJEM001D que hereda las caracteristicas de la clase
JFrame con la creacion y asignacion de contenedores de clase
JPanel que almacenara los objetos de varias clases pero sin
posicionamiento y organizador por default
******************************************************************/

import java.awt.*;
//import java.awt.event.*;
import javax.swing.*;

public class ISCTAPU1EJEM001D extends JFrame{

public ISCTAPU1EJEM001D(String Texto) {


// Utilizacion de la super clase super
super(Texto);

// Declaracion de variables locales


JButton JBButton01;
JLabel JLEtiqueta01;
JTextField JTFCampoTexto01, JTFCampoTexto02;

// CONSTRUIMOS LA PARTE NORTE DE LA VENTANA


// Declaracion de la variable referencial del
// primer contenedor
JPanel JPPanel01 = new JPanel();

// Asignacion del manejador de contenidos

Docente: Carlos Baltazar Oliva Enero – Junio 2018 18


TOPICOS AVANZADOS DE PROGRAMACIÓN
TECNOLÓGICO Instituto
Ingeniería en Sistemas Computacionales
NACIONAL Tecnológico
Unidad I “Interfaz Grafica del Usuario
DE MÉXICO de la Costa Grande
(Eventos)”

// por default
JPPanel01.setLayout(new FlowLayout());
// Agregar el objeto de clase JLabel y a la vez se le
// asigna el texto, al primer contenedor
JPPanel01.add(new JLabel("Inserte texto:"));
// Agregar el objeto de clase JTextFiel con
// asignacion de 20 espacios, al primer contenedor
JPPanel01.add(JTFCampoTexto01 = new JTextField(20));

// CONSTRUIMOS LA PARTE SUR DE LA VENTANA


// Declaracion de variable referencial del
// segundo contenedor
JPanel JPPanel02 = new JPanel();
// Asignacion del manejador de contenidos
// por default
JPPanel02.setLayout(new FlowLayout());
// Agregar el objeto de clase JLabel y a la vez se le
// asigna el texto, en el segundo contenedor
JPPanel02.add(JLEtiqueta01 = new JLabel("Texto Copiado:"));
// se asigna invisible el objeto
JLEtiqueta01.setVisible(false);
// Agregar el objeto de clase JTextFiel con
// Asignacion de 20 espacios, en el segundo contenedor
JPPanel02.add(JTFCampoTexto02 = new JTextField(20));
// Asignacion de no edicion del campo de texto
JTFCampoTexto02.setEditable(false);

// CONSTRUIMOS LA PARTE CENTRAL DE LA VENTANA


// Declaracion de variable referencial del
// tercer contenedor
JPanel JPPanel03 = new JPanel();
// Asignacion del manejador de contenidos
// por default
JPPanel03.setLayout(new FlowLayout());
// Agregar el objeto de clase JButton con
// Asignacion de texto, en el tercer contenedor
JPPanel03.add(JBButton01 = new JButton("Copiar"));

// Creacion del enlace para agregar los 3 contenedores


// de clase JPanel a la ventana principal mediante
// clase Container y leer su contenido
Container CContainer = getContentPane();
// Se asigna un manejador de contenidos en este
// caso manejodor de contenedores
CContainer.setLayout(new BorderLayout());
// Agregar el primer contenedor en la parte norte de la ventana
CContainer.add(BorderLayout.NORTH, JPPanel01);
// Agregar el segundo contenedor en la parte centro de la ventana
CContainer.add(BorderLayout.CENTER, JPPanel03);
// Agregar el tercer contenedor en la parte sur de la ventana
CContainer.add(BorderLayout.SOUTH, JPPanel02);
}

Docente: Carlos Baltazar Oliva Enero – Junio 2018 19


TOPICOS AVANZADOS DE PROGRAMACIÓN
TECNOLÓGICO Instituto
Ingeniería en Sistemas Computacionales
NACIONAL Tecnológico
Unidad I “Interfaz Grafica del Usuario
DE MÉXICO de la Costa Grande
(Eventos)”

public static void main (String[] args) {


JFrame Ventana = new ISCTAPU1EJEM001D("ISCTAPU1EJEM001D");
Ventana.setDefaultCloseOperation(Ventana.EXIT_ON_CLOSE);
Ventana.pack();
Ventana.setVisible(true);
}
}

Resultado

Ejercicio: ISCTAPU1EJER001D

Aplicar la investigación que se dejo en la clase anterior

Practica: ISCTAPU1PRAC001D

Aplicar la investigación que se dejo en la clase anterior, asi como agregar el código para que cada vez que se
ejecute el color de fondo de la interfaz y de cada uno de los objetos sea diferente y el color de letra sea diferente
de cada uno de los objetos

Nota:
Investigar todo lo relacionado a la clase super y al método pack

Docente: Carlos Baltazar Oliva Enero – Junio 2018 20