Professional Documents
Culture Documents
1. DATOS ACADEMICOS:
Nombre Asignatura : Algortmica III
Unidad : Primera Unidad: Programacin Orientada a Objetos en Java.
Tema : Librera SWING: JFrame, JButton, Toolkit
Docente : Ing. Erech Ordez Ramos
2. PROCEDIMENTAL
- Desarrolla programas y compila la aplicacin utilizando la interfaz grfica para crear formularios y
componentes dentro de este.
- Disea, compila y ejecuta programas.
3. PLAN DE CLASES
4. OBJETIVO
Conocer la funcionalidad del uso del mtodo grfico en Java
5. SESIN N 07(Tiempo Estimado: 02 Horas)
Swing.
La biblioteca Swing nos permite dotar de una interfaz grfica a nuestras aplicaciones, dotndolas de
interactividad y riqueza visual.
La Clase JFrame
La clase Jrame proporciona la ventana superior creada para la aplicacin, es el componente contenedor
que permite agregar sobre el otros componentes contenedores y los controles grficos que permiten
interactuar al usuario con la aplicacin.
La clase JFrame se encuentra en el paquete javax.swing, Jframe es una subclase de Frame.
La Clase Toolkit
La Clase Toolkit proporciona una interfaz independiente de la plataforma para servicios especficos tales
como: fuentes, imgenes, impresin y parmetros de pantalla. No se puede instanciar la clase Toolkit ya
que es una clase abstracta, pero se puede acceder a ella invocando al mtodo getDefaulToolkit(). Que
devolver un objeto de este tipo
Ejemplo 1.
Crear una aplicacin que presente una ventana con el ttulo Aplicacin Grafica 1.
package Graficos;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.*;
}
public static void main(String[] args)
{
new Formulario ("Aplicacin Grafica N 1");
}
}
La Clase Color
Es una clase que encapsula colores en el espacio de color sRGB o en espacios indefinidos de color
arbitrarios por un ColorSpace, cada color tiene un valor implcito alfanumrico.
La Clase JButton
Comando utilizado para iniciar o cancelar una accin.
Ejemplo 2.- Creamos una clase con botones que nos permita cambiar los colores
package Graficos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Colores extends JFrame
{
private static final long serialVersionUID = 1L;
JButton cmdRojo, cmdVerde, cmdAzul, cmdAmarillo,cmdRosa,
cmdNegro, cmdBlanco, cmdCyan;
getContentPane().setLayout(new FlowLayout());
cmdRojo=new JButton("Rojo");
cmdVerde=new JButton("Verde");
cmdAzul=new JButton("Azul");
cmdAmarillo=new JButton("Amarillo");
cmdRosa=new JButton("Rosa");
cmdNegro=new JButton("Negro");
cmdBlanco=new JButton("Blanco");
cmdCyan=new JButton("Azul Claro");
cmdRojo.addActionListener(new ManejaEventos());
cmdVerde.addActionListener(new ManejaEventos());
cmdAzul.addActionListener(new ManejaEventos());
cmdAmarillo.addActionListener(new ManejaEventos());
cmdRosa.addActionListener(new ManejaEventos());
cmdNegro.addActionListener(new ManejaEventos());
cmdBlanco.addActionListener(new ManejaEventos());
cmdCyan.addActionListener(new ManejaEventos());
getContentPane().add(cmdRojo);
getContentPane().add(cmdVerde);
getContentPane().add(cmdAzul);
getContentPane().add(cmdAmarillo);
getContentPane().add(cmdRosa);
getContentPane().add(cmdNegro);
getContentPane().add(cmdBlanco);
getContentPane().add(cmdCyan);
}
Componentes Swing
En las aplicaciones anteriores se construye el objeto principal que va a contener los controles, a
continuacin explicaremos los componentes Swing para construir los controles, a continuacin se
muestra una lista de los componentes ms comunes:
Clase Descripcin
JLabel Etiquetas, se implementan a partir de la clase JLabel se utilizan para
mostrar texto/imgenes.
JTextField Cajas de texto. Se implementan a partir de la clase JTexField las de una sola
linea de texto, y a partir del JTextArea las de varias lineas
JTextArea Para editar y mostrar contenido de texto con un solo atributo en varias
lineas.
JPasswordField Para editar y mostrar una contrasea
JButton Botones, se implementan a paratir de la clase JButton, Componentes
seleccionables que admite la presentacion de texto e imgenes
JCheckBox Componente seleccionable que muestra el estado al usuario
1. JLabel(), Crea una instancia de la clase JLabel sin ninguna imagen y con una cadena vaca para el titulo.
2. JLabel(Icon imagen), Crea una instancia de JLabel con la imagen especificada.
3. JLabel(Icon imagen, int alineamientoHorizontal), Crea una instancia de Jlabel con la imagen especificada
alineado horizontalemente.
4. JLabel(String texto), Crea una instancia de JLabel con el texto especificado
5. JLabel(String texto, icon icono, int alineamientohorizontal), Crea una instancia de JLabel con el texto e
imagen especificados y alineados horizontalemente.
6. JLabel(String texto, int alineamientohorizontal), Crea una instancia de JLabel con el texto especificado y
alienado horizontalemente.
Ejemplo 3. Creamos un formulario que inserte texto y tambin un botn.
package Graficos;
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JTextField;
package Graficos;
import java.awt.*;
import javax.swing.*;
public class FrameBase extends JFrame
{
private static final long serialVersionUID = 1L;
protected FrameBase(String titulo)
{
super(titulo);
iniciar();
}
private void iniciar()
{
//al cerrar la aplicacion
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image icono1 = Toolkit.getDefaultToolkit().getImage("D:\\Hesmeralda\\eapiis.png");
this.setIconImage(icono1);
//Cambiar el color del fondo del panel
this.getContentPane().setBackground(new Color(166,202,240));
this.getContentPane().setLayout(null);
this.setResizable(true);
this.setVisible(true);
}
public void mostrarventana(int num1, int num2)
{
this.setSize(num1, num2);
Dimension marco = this.getSize();
Dimension tamaopantalla= Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((tamaopantalla.width -marco.width)/2 ,(tamaopantalla.height-
marco.height)/2);
}
}
Ejemplo 6.- Creamos una lista heredando de esta clase base (Frame Base)
package Graficos;
import javax.swing.*;
public class Lista extends FrameBase
{
private static final long serialVersionUID = 1L;
private JLabel JLabel1 = null;
private JList JList1 = null;
public Lista(String titulo)
{
super(titulo);
iniciarcontroles();
}
private void iniciarcontroles()
{
JLabel1 = new JLabel("Publicaciones");
JLabel1.setBounds(16,12,125,15); //Posicion x, y, ancho y alto
EJERCICIOS DE EXTENSIN
1. Crear una Ventana que se herede de la Clase FrameBase.
2. Crear una aplicacin que muestre un JLabel y una imagen al lado de su texto.
3. Crear una Ventana que me muestre el registro de un Alumno.