Anda di halaman 1dari 10

Tpicos Selectos de Programacin

UNIDAD I.- Elementos de Interfaces Grficas


___________________________________________________________________
LECCIN 1.4.- Componentes Swing
___________________________________________________________________
1.4.1.- Componentes Grficos de Swing
Los componentes grficos de Swing se puede agrupar en:

Clases bsicas

Contenedores de alto nivel

Contenedores intermedios

Componentes atmicos

1.4.2.- Clases Bsicas


Proporcionan el soporte y funcionalidad para el resto d elos componentes.

javax.swing.JComponent deriva de la clase java.awt.Component

1.4.3.- Contenedores de alto nivel


JFrame

Se emplea para crear la ventana principal de una aplicacin.

Es una ventana con marco que incluye los controles habituales.

Los componentes grficos no se aaden directamente al JFrame sino a su panel de


contenido, obtenido con el mtodo getContentPane().

Rafael Rivera Lpez


1

Tpicos Selectos de Programacin


Mtodos

Descripcin

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) Cerrar la ventana


setLayout(LayoutManager x)

Definir el administrador de diseo

setJMenuBar(JMenuBar x)

Adiciona una barra de men

getContentPane()

Se obtiene el objeto contenedor

JDialog

Es la clase raz de las ventanas secundarias que implementan cuadros de dilogo en


Swing.

Dependen de una ventana principal; si la ventana se cierra, se maximiza o se minimina,


las ventanas secundarias ejecutan la misma operacin.

Puede ser modales o amodales.

Constructor: JDialog(frame, Titutlo, true);

JOptionPane

Se utiliza para crear cuadros de dialgo simples, como los que permiten pedir un valor,
mostrar un mensaje de error, solicitar una confirmacin.

Todos los cuadros de dialogo que implementa JOptionPane son modales (bloquean la
interaccin del usuario con otras ventanas.

Tiene mtodos estticos para determinar el tipo de cuadro de dilogo.

Mtodo

Descripcin

showMessageDialog

Presentar un mensaje al usuario

showConfirmDialog

Solicitar una respuesta al usuario (si, no, cancel)

showInputDialog

Solicita la entrada de un dato

showOptionPane

Permite crear una ventana personalizada

Rafael Rivera Lpez


2

Tpicos Selectos de Programacin


package dialogossimples;
import javax.swing.*;
import java.awt.*;
public class Dialogos extends JFrame{
public Dialogos(){
super("Dialogos simples con Swing");
setSize(300,300);
setLocation(200,200);
getContentPane().setBackground(Color.cyan);
add(new JButton("OK"),"North");
setVisible(true);
addDialogos();
}
public void addDialogos(){
JOptionPane.showMessageDialog(this,
"No se ha podido encontrar el archivo indicado",
"Error de entrada de datos",
JOptionPane.ERROR_MESSAGE);
int opcion= JOptionPane.showConfirmDialog(this,
"Desea realmente Salir?",
"Seleccione si desea Salir",
JOptionPane.YES_NO_OPTION);
String entrada = JOptionPane.showInputDialog(this,
"Introduzca un entero",
"Solicitud de un nmero",
JOptionPane.QUESTION_MESSAGE);
String[] opciones = {"Si, adelante", "Ahora No",
"No s que hacer"};
int n = JOptionPane.showOptionDialog(this,
"Desea realizar la operacin ahora?",
"Mensaje de confirmacin",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
opciones,
opciones[0]);
}

Rafael Rivera Lpez


3

Tpicos Selectos de Programacin


JFileChooser
Es un selector de archivos de forma interactiva

Mtodo

Descripcin

setFileSelectionMode()

Define el criterio de seleccin

showOpenDialog(JFrame) Define que es una ventana para abrir archivos


showSaveDialog(JFrame)

Define que es una ventana para guardar archivos

package dialogossimples;
import javax.swing.*;
import java.awt.*;
public class Archivos extends JFrame{
public Archivos(){
super("Dialogos para manejo de Archivos");
setSize(300,300);
setLocation(200,200);
getContentPane().setBackground(Color.cyan);
setVisible(true);
addArchivos();
}
public void addArchivos(){
JFileChooser selector = new JFileChooser();
int opcion = selector.showOpenDialog(this);
if(opcion == JFileChooser.APPROVE_OPTION){
add(new Label(""+selector.getSelectedFile()),"North");
setVisible(true);
}
opcion = selector.showSaveDialog(this);
}
}

JColorChooser
Sirve para ejegir un color de una paleta que se presenta en un cuadro de dialogo.

Rafael Rivera Lpez


4

Tpicos Selectos de Programacin


public void addColores(){
JColorChooser panel = new JColorChooser();
Color color = panel.showDialog(this,
"Elija el color deseado",
Color.white);
if(color != null){
add(new Label(""+color),"North");
getContentPane().setBackground(color);
setVisible(true);
}
}

1.4.4.- Contenedores intermedios


JPanel

Contenedor Simple que sirve para agrupar otros componentes.

Permite el manejo de bordes y personalizar su presentacin grfica

Mtodo

Descripcin

setBorder(AbstractBorder x) permite colocar un borde al panel.


setToolTipText(String x)

permite asignar un texto emergente al panel.

package dialogossimples;
import javax.swing.*;
import java.awt.*;
import javax.swing.border.*;
public class Intermedios extends JFrame{
public Intermedios(){
super("Dialogos para manejo de Archivos");
setSize(300,300);
setLocation(200,200);
getContentPane().setBackground(Color.cyan);
setVisible(true);
addComponentes();
}

Rafael Rivera Lpez


5

Tpicos Selectos de Programacin

public void addComponentes(){


setLayout(new GridLayout(2,2));
JPanel[] p = new JPanel[4];
AbstractBorder[] bordes = {new BevelBorder(BevelBorder.RAISED),
new LineBorder(Color.red,5),
new EtchedBorder(),
new TitledBorder("Ttulo")};
String [] texto ={"BevelBorder","LineBorder",
"EtchedBorder","TitledBorder"};
for(int i=0;i<4;i++){
p[i] = new JPanel();
p[i].setBorder(bordes[i]);
p[i].setToolTipText(texto[i]);
add(p[i]);
}
}

JScrollPane
Es un panel con barras de desplazamiento.

Constructor

Descripcin

JScrollPane(Component x)

Presenta las barras de desplazamiento si


son necesarias

JScrollPane(Component x,
JscrollPane.HORIZONTAL_SCROLLBAR_ALWAYS,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS)

Presenta siempre las barras de


desplazamiento.

JSplitPane
Es un panel para administrar dos componentes colocados vertical u horizontalmente y diferenciados
por un separador.

Constructor y mtodos

Descripcin

JSplitPanel(JSplitPane.HORIZONTAL_SPLIT,
Component p1,Component p2)

Divide el panel en dos secciones verticiales.

setDividerLocation(int s)

La ubicacin de la division en pixeles

setDividerLocation(double s)

La ubicacin de la divisin en porcentaje

Rafael Rivera Lpez


6

Tpicos Selectos de Programacin


Constructor y mtodos

Descripcin

setHorientation(JSplitPane.VERTICAL_SPLIT) Para cambiar la horientacin de la divisin


JTabbedPane

Panel con solapas para controlar componentes como una pila de fichas.

Los componentes se superponen unos con otros de forma que solo uno de ellos es visible en
cada momento.

Las solapas incluyen un texto y/o un cono y se pueden colocar en la parte superior, inferior,
derecha o izquierda del contenedor.

Constructor y mtodos

Descripcin

JTabbedPane(JTabbedPane.LEFT)

Para que las solapas se presenten a la izquierda

addTab(String etiqueta,ImageIcon x,
Component c, String tooltip)

Adiciona un componente con una etiqueta, un cono y un


tooltip.

insertTab(String etiqueta,ImageIcon x, Inserta un componente con una etiqueta, un cono y un


Component c, String tooltip, tooltip en una ubicacin determinada.
int ubicacion)
JToolBar
Implementa una barra de herramientas, formada con botones o controles que aparecen en fila o en
columna.

Mtodos

Descripcin

add(Component x)

Adiciona un componente a la barra

addSeparator()

Adiciona un separador

setFloatable(boolean x)

Indica si la barra se puede desplazar o no.

setOrientation(JToolBar.VERTICAL)

Define la orientacin de la barra

Rafael Rivera Lpez


7

Tpicos Selectos de Programacin


package dialogossimples;
import javax.swing.*;
import java.awt.*;
public class OtrosIntermedios extends JFrame{
public OtrosIntermedios(){
super("Panel con solapas");
setSize(300,300);
setLocation(200,200);
getContentPane().setBackground(Color.cyan);
setVisible(true);
addComponentes();
}
public void addComponentes(){
JPanel [] p = new JPanel[5];
Color [] colores =
{Color.cyan, Color.blue, Color.magenta, Color.green, Color.white};
for(int i=0;i<5;i++){
p[i]=new JPanel();
p[i].setBackground(colores[i]);
}
JTabbedPane solapas = new JTabbedPane();
JSplitPane split = new JsplitPane(JSplitPane.HORIZONTAL_SPLIT,
p[0],p[1]);
split.setDividerLocation(150);
JScrollPane scroll = new JScrollPane(p[2],
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
solapas.addTab("Panel dividido", split);
solapas.addTab("Panel con scroll",scroll);
solapas.addTab("Otro panel",p[3]);
solapas.addTab("Otro panel",p[4]);
add(solapas);
}
}

Rafael Rivera Lpez


8

Tpicos Selectos de Programacin


public void addBarraHerramientas(){
JToolBar barra = new JToolBar();
barra.add(new Button("1"));
barra.add(new Button("2"));
barra.addSeparator();
barra.add(new Button("3"));
add(barra,"North");
}

1.4.5.- Componentes atmicos


Componente

Descripicin

ImageIcon

Es una imagen pequea para utilizarla dentro de otro componente

JLabel

Un texto, opcionalmente acompaado de un cono

JButton

Un botn con un texto asociado y un cono opcional

JToggleButton

Un botn conmutador (como el botn de negritas)

JCheckBox

Una casilla de verificacin (opcionalmente un cono)

JRadioButton

Botones de opcin

JMenuBar
Clases para implementar Mens
JMenu
JMenuItem
JPopupMenu
JCheckBoxMenu
JRadioButtonMenu
JTextField

Componente que permite mostrar y editar una nica lnea de texto

JTextArea

Componente que permite mostrar y editar barias lneas de texto

JEditorPane

Son campos de texto de mltiples lneas y con formato.

JList

Una lista de elementos

JCompoBox

Implementa un cuadro combinado desplegable

JProgressBar

Barra configurable que muestra de forma grfica la progresin temporal de una


operacin como un porcentaje de la longitud de la barra.

JScrollBar

Barra de desplazamiento

JSlider

Barra grfica con un indicador deslizante asociado que sirve para obtener
datos de entrada proporcionados por el usuario.

JTable

Componente altamente configurable que permite visualizar tablas


bidimensionales

Rafael Rivera Lpez


9

Tpicos Selectos de Programacin


Componente

Descripicin

JToolTip

Componente que muestra en una ventana emergenteuna breve informacin de


ayuda contextual sobre otros componentes cuando el cursos se sita sobre
ellos.

JTree

Componente que permite visualizar datos organizados jerrquicamente en


forma de rbol.

Rafael Rivera Lpez


10