Está en la página 1de 111

Componentes GUI en Java

Manuel J. Molino Milla Luis Molina Garzón

IES Virgen del Carmen

Departamento de Informática

8 de mayo de 2018
Logo

Figura : Logo Java


Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Contenido
Introduccion
Paneles
JPanel
JScrollPane
JSplitPane
JTabbedPane
Botones
botones sencillos
toggle button
check button
radio button
Labels
Text Fields
Text Area
combo box
list
Scroll Bars
Introduccion

I Son las estructuras graficas que componen la interfaz de


usuario.
I Seran añadidas al contenendor de swing (generalmente un
panel)
I Generalmente se le asociara un evento para la interaccion con
el usuario

Guia de componentes
Introduccion

I Son las estructuras graficas que componen la interfaz de


usuario.
I Seran añadidas al contenendor de swing (generalmente un
panel)
I Generalmente se le asociara un evento para la interaccion con
el usuario

Guia de componentes
Introduccion

I Son las estructuras graficas que componen la interfaz de


usuario.
I Seran añadidas al contenendor de swing (generalmente un
panel)
I Generalmente se le asociara un evento para la interaccion con
el usuario

Guia de componentes
Introduccion

I Son las estructuras graficas que componen la interfaz de


usuario.
I Seran añadidas al contenendor de swing (generalmente un
panel)
I Generalmente se le asociara un evento para la interaccion con
el usuario

Guia de componentes
Introduccion

I Son las estructuras graficas que componen la interfaz de


usuario.
I Seran añadidas al contenendor de swing (generalmente un
panel)
I Generalmente se le asociara un evento para la interaccion con
el usuario

Guia de componentes
Componentes
Paneles intermedios

Figura : Paneles
JPanel

I Es un contenedor ligero.
I Usado para agrupar componentes.
I Tiene FlowLayout como layout por defecto.
I Ejemplo de uso;

JLabel label = new JLabel("Enter username:");


JTextField userName = new JTextField(20);
newPanel.add(label);
newPanel.add(userName);
JPanel

I Es un contenedor ligero.
I Usado para agrupar componentes.
I Tiene FlowLayout como layout por defecto.
I Ejemplo de uso;

JLabel label = new JLabel("Enter username:");


JTextField userName = new JTextField(20);
newPanel.add(label);
newPanel.add(userName);
JPanel

I Es un contenedor ligero.
I Usado para agrupar componentes.
I Tiene FlowLayout como layout por defecto.
I Ejemplo de uso;

JLabel label = new JLabel("Enter username:");


JTextField userName = new JTextField(20);
newPanel.add(label);
newPanel.add(userName);
JPanel

I Es un contenedor ligero.
I Usado para agrupar componentes.
I Tiene FlowLayout como layout por defecto.
I Ejemplo de uso;

JLabel label = new JLabel("Enter username:");


JTextField userName = new JTextField(20);
newPanel.add(label);
newPanel.add(userName);
JPanel

I Es un contenedor ligero.
I Usado para agrupar componentes.
I Tiene FlowLayout como layout por defecto.
I Ejemplo de uso;

JLabel label = new JLabel("Enter username:");


JTextField userName = new JTextField(20);
newPanel.add(label);
newPanel.add(userName);
JPanel

I Es un contenedor ligero.
I Usado para agrupar componentes.
I Tiene FlowLayout como layout por defecto.
I Ejemplo de uso;

JLabel label = new JLabel("Enter username:");


JTextField userName = new JTextField(20);
newPanel.add(label);
newPanel.add(userName);
JScrollPane

Figura : JScrollPane
JScrollPane

I JSrollPane ()
I JScrollPane(Component component)
I JScrollPane(int ver, int hor)
I JScrollPane(Component component, int ver, int hor)
I HORIZONTAL SCROLLBAR ALWAYS,
HORIZONTAL SCROLLBAR AS NEEDED,
VERTICAL SCROLLBAR ALWAYS,
VERTICAL SCROLLBAR AS NEEDED
JScrollPane

I JSrollPane ()
I JScrollPane(Component component)
I JScrollPane(int ver, int hor)
I JScrollPane(Component component, int ver, int hor)
I HORIZONTAL SCROLLBAR ALWAYS,
HORIZONTAL SCROLLBAR AS NEEDED,
VERTICAL SCROLLBAR ALWAYS,
VERTICAL SCROLLBAR AS NEEDED
JScrollPane

I JSrollPane ()
I JScrollPane(Component component)
I JScrollPane(int ver, int hor)
I JScrollPane(Component component, int ver, int hor)
I HORIZONTAL SCROLLBAR ALWAYS,
HORIZONTAL SCROLLBAR AS NEEDED,
VERTICAL SCROLLBAR ALWAYS,
VERTICAL SCROLLBAR AS NEEDED
JScrollPane

I JSrollPane ()
I JScrollPane(Component component)
I JScrollPane(int ver, int hor)
I JScrollPane(Component component, int ver, int hor)
I HORIZONTAL SCROLLBAR ALWAYS,
HORIZONTAL SCROLLBAR AS NEEDED,
VERTICAL SCROLLBAR ALWAYS,
VERTICAL SCROLLBAR AS NEEDED
JScrollPane

I JSrollPane ()
I JScrollPane(Component component)
I JScrollPane(int ver, int hor)
I JScrollPane(Component component, int ver, int hor)
I HORIZONTAL SCROLLBAR ALWAYS,
HORIZONTAL SCROLLBAR AS NEEDED,
VERTICAL SCROLLBAR ALWAYS,
VERTICAL SCROLLBAR AS NEEDED
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JSplitPane

I JSplitPane()
I JSplitPane(int)
I JSplitPane(int, boolean)
I JSplitPane(int, Component, Component)
I JSplitPane(int, boolean, Component, Component)
I donde int puede ser HORIZONTAL SPLIT o
VERTICAL SPLIT
I Los parámetros Component seleccionan los componentes
izquierdo y derecho o superior e inferior, respectivamente.
I El parámetro boolean El paramétodo booleano selecciona si
los componentes se redibujan contı́nuamnete cuando el
usuario arrastra el divisor.
JTabbedPane

JTabbedPane() Crea un JTabbedPane vacı́o, colocando las


pestañas arriba.
JTabbedPane(int tabPlacement) Las pestañas se colocaran segun
el valor entero: JTabbedPane.TOP,
JTabbedPane.BOTTOM, JTabbedPane.LEFT, or
JTabbedPane.RIGHT.
public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
donde el segundo int puede ser:
JTabbedPane.WRAP TAB LAYOUT o
JTabbedPane.SCROLL TAB LAYOUT.
JTabbedPane

JTabbedPane() Crea un JTabbedPane vacı́o, colocando las


pestañas arriba.
JTabbedPane(int tabPlacement) Las pestañas se colocaran segun
el valor entero: JTabbedPane.TOP,
JTabbedPane.BOTTOM, JTabbedPane.LEFT, or
JTabbedPane.RIGHT.
public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
donde el segundo int puede ser:
JTabbedPane.WRAP TAB LAYOUT o
JTabbedPane.SCROLL TAB LAYOUT.
JTabbedPane

JTabbedPane() Crea un JTabbedPane vacı́o, colocando las


pestañas arriba.
JTabbedPane(int tabPlacement) Las pestañas se colocaran segun
el valor entero: JTabbedPane.TOP,
JTabbedPane.BOTTOM, JTabbedPane.LEFT, or
JTabbedPane.RIGHT.
public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
donde el segundo int puede ser:
JTabbedPane.WRAP TAB LAYOUT o
JTabbedPane.SCROLL TAB LAYOUT.
Componentes
Componentes para introducir datos

Figura : Componentes Java GUI


Componentes
Componentes interactivos

Figura : Componentes Java GUI


Componentes
Componentes no editables

Figura : Componentes Java GUI


Botones

I Botontes normales.
I Toggle button.
I Check button.
I Radio button.
Botones

I Botontes normales.
I Toggle button.
I Check button.
I Radio button.
Botones

I Botontes normales.
I Toggle button.
I Check button.
I Radio button.
Botones

I Botontes normales.
I Toggle button.
I Check button.
I Radio button.
Botones

I Botontes normales.
I Toggle button.
I Check button.
I Radio button.
Botones

I Botontes normales.
I Toggle button.
I Check button.
I Radio button.
UML javax.swing.AbstractButton
Ejemplo botones
import javax.swing.*;
public class Botones extends JFrame
{
public static void main (String[]args)
{
JFrame frame = new Botones ();
frame.setTitle ("Botones");
frame.setSize (200, 100);
frame.setLocationRelativeTo (null);// Center the frame
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setVisible (true);
}
public Botones ()
{
ImageIcon esIcon = new ImageIcon ("imagenes/espana.png");
ImageIcon cuIcon = new ImageIcon ("imagenes/cuba.png");
ImageIcon alIcon = new ImageIcon ("imagenes/alemania.png");
JButton jbt = new JButton ("Click", esIcon);
jbt.setPressedIcon (cuIcon);
jbt.setRolloverIcon (alIcon);
add (jbt);
}
}
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación
Especifica la alineación de texto e icono

Alineacion horizontal
Se establece con setHorizontalAlignment(int) donde int puede ser:
LEADING/LEFT izquierda
RIGHT/TRAILING derecha
CENTER centrado

Alineacion vertical
Se establece con setVerticalAlignment(int) donde int puede ser:
TOP arriba
BOTTOM abajo
CENTER centrado
Para el texto se hace algo parecido, pero se usa
setHorizontalTextPosition(int) y setVerticalTextPosition(int)
Alineación icono y texto
toggle button

I Es un botón con dos estados.


I La clase JToggleButton hereda AbstractButton e implementa
un toggle button
I Se suelen usar las clases JCheckBox y JRadioButton para esto.
toggle button

I Es un botón con dos estados.


I La clase JToggleButton hereda AbstractButton e implementa
un toggle button
I Se suelen usar las clases JCheckBox y JRadioButton para esto.
toggle button

I Es un botón con dos estados.


I La clase JToggleButton hereda AbstractButton e implementa
un toggle button
I Se suelen usar las clases JCheckBox y JRadioButton para esto.
check button

Figura : UML javax.swing.JCheckBox


radio button

I Son botones de opción de un item, dentro de un conjunto de


éstos.
I A diferencia de los check button, los radio button NO son
cuadrados, SON cı́rculos.
I Los Listener son tratados de la misma manera que en los
check button
radio button

I Son botones de opción de un item, dentro de un conjunto de


éstos.
I A diferencia de los check button, los radio button NO son
cuadrados, SON cı́rculos.
I Los Listener son tratados de la misma manera que en los
check button
radio button

I Son botones de opción de un item, dentro de un conjunto de


éstos.
I A diferencia de los check button, los radio button NO son
cuadrados, SON cı́rculos.
I Los Listener son tratados de la misma manera que en los
check button
radio button

I Son botones de opción de un item, dentro de un conjunto de


éstos.
I A diferencia de los check button, los radio button NO son
cuadrados, SON cı́rculos.
I Los Listener son tratados de la misma manera que en los
check button
radio button

I Son botones de opción de un item, dentro de un conjunto de


éstos.
I A diferencia de los check button, los radio button NO son
cuadrados, SON cı́rculos.
I Los Listener son tratados de la misma manera que en los
check button
check button

Figura : UML javax.swing.JRadioButton


gruo radio button

I Los radio button se pueden agrupar.


I Necesitamos crear una instancia de java.swing.ButtonGroup

ButtonGroup group = new ButtonGroup();


group.add(jrb1);
group.add(jrb2);

I Al agruparase jrb1 y jrb2 son mutuamente exclusivos, es decir


se selección uno u otro, pero NO los dos a la vez.
I Si no se agrupan, serı́an independientes y se pueden
seleccionar independientemente.
gruo radio button

I Los radio button se pueden agrupar.


I Necesitamos crear una instancia de java.swing.ButtonGroup

ButtonGroup group = new ButtonGroup();


group.add(jrb1);
group.add(jrb2);

I Al agruparase jrb1 y jrb2 son mutuamente exclusivos, es decir


se selección uno u otro, pero NO los dos a la vez.
I Si no se agrupan, serı́an independientes y se pueden
seleccionar independientemente.
gruo radio button

I Los radio button se pueden agrupar.


I Necesitamos crear una instancia de java.swing.ButtonGroup

ButtonGroup group = new ButtonGroup();


group.add(jrb1);
group.add(jrb2);

I Al agruparase jrb1 y jrb2 son mutuamente exclusivos, es decir


se selección uno u otro, pero NO los dos a la vez.
I Si no se agrupan, serı́an independientes y se pueden
seleccionar independientemente.
gruo radio button

I Los radio button se pueden agrupar.


I Necesitamos crear una instancia de java.swing.ButtonGroup

ButtonGroup group = new ButtonGroup();


group.add(jrb1);
group.add(jrb2);

I Al agruparase jrb1 y jrb2 son mutuamente exclusivos, es decir


se selección uno u otro, pero NO los dos a la vez.
I Si no se agrupan, serı́an independientes y se pueden
seleccionar independientemente.
gruo radio button

I Los radio button se pueden agrupar.


I Necesitamos crear una instancia de java.swing.ButtonGroup

ButtonGroup group = new ButtonGroup();


group.add(jrb1);
group.add(jrb2);

I Al agruparase jrb1 y jrb2 son mutuamente exclusivos, es decir


se selección uno u otro, pero NO los dos a la vez.
I Si no se agrupan, serı́an independientes y se pueden
seleccionar independientemente.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
Etiquetas

I Sirven para desplegar un pequeño texto o una imagen, o


ambas.
I Suelen acompañarse con otros componentes como los
textinput
I JLabel hereda de JComponent muchas propiedades útiles,
similares a las de los buttons
1. text icon horizontalAlignment
2. verticalAlignment,
3. horizontalTextPosition
4. verticalTextPosition
5. iconTextGap.
javax.swing.JLabel
Ejemplo label

// Crear una icono desde un fichero


ImageIcon icon = new ImageIcon("image/grapes.gif");
// Crea una etiqueta con texto y un icono
// con alineación horizontal y centereda
JLabel jlbl = new JLabel("Etqiueta", icon, SwingConstants.C
// Establecemos alineación del texto y separación
//entre texto e icono
jlbl.setHorizontalTextPosition(SwingConstants.CENTER);
jlbl.setVerticalTextPosition(SwingConstants.BOTTOM);
jlbl.setIconTextGap(5);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
Campos de texto

I Sirven para desplegar texto o introducir texto (Lo mas


normal).
I JTextField hereda de JTextComponent el cual a su vez hereda
de JComponent
I Se puede usar JPasswordField donde el texto introducido es
reemplazado por echo *.
I Puede cambiarse el caracter del echo con el método
setEchoChar(char)
I Ejemplo:

JTextField mensaje = new JTextField("Entrada");


mensaje.setForeground(Color.RED);
mensaje.setHorizontalAlignment(SwingConstants.RIGHT);
javax.swing.JTextField
Ejemplo
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TextFieldDemo extends JFrame{
private JTextField jtfMessage = new JTextField (10);
public static void main (String[]args) {
TextFieldDemo frame = new TextFieldDemo ();
frame.pack ();
frame.setTitle ("TextFieldDemo");
frame.setLocationRelativeTo (null); // Center the frame
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setVisible (true);
}
public TextFieldDemo () {
// Crea a nuevo panel para poner label y text field
JPanel jpTextField = new JPanel ();
jpTextField.setLayout (new BorderLayout (5, 0));
jpTextField.add (new JLabel ("Introduce un nuevo mensaje"),
BorderLayout.WEST);
jpTextField.add (jtfMessage, BorderLayout.CENTER);
add (jpTextField, BorderLayout.NORTH);
jtfMessage.setHorizontalAlignment (JTextField.RIGHT);
// Register listener
jtfMessage.addActionListener (new ActionListener () {
/** Handle ActionEvent */
public void actionPerformed (ActionEvent e) {
JOptionPane.showMessageDialog (null,
jtfMessage. getText ());
jtfMessage.requestFocusInWindow ();}
});
}
}
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
Area de texto
I Sirven para desplegar texto en múltiles lı́neas.
I Se puede crear una instanacia de JTextField.
I O mejor usar JTextArea el cual a su vez hereda de JComponent
I Cómo JTextField, JTextArea hereda de JTextComponent, el cuál contiene
métodos como getText, setText, isEditable, y setEditable.
I Ejemplo de creación de texto con 5 filas y 20 columnas, line-wrapped,
color rojo y como fuente bold, 20 pixels.

JTextArea jtaNote = new JTextArea("Esto es un area de texto", 5, 20);


jtaNote.setLineWrap(true);
jtaNote.setWrapStyleWord(true);
jtaNote.setForeground(Color.red);
jtaNote.setFont(new Font("Courier", Font.BOLD, 20));

Podemos añadir con JScrollPane una barra de desplazamiento:

JScrollPane scrollPane = new JScrollPane(jta = new JTextArea());


add(scrollPane, BorderLayout.CENTER);
javax.swing.JTextArea
Lista de elección

Contiene una lista de items, que el usuario puede elegir.

JComboBox jcb = new JComboBox(new Object[]


{"Item 1", "Item 2", "Item 3", "Item 4"});
jcb.setForeground(Color.red);
jcb.setBackground(Color.white);
jcb.setSelectedItem("Item 2");
javax.swing.JComboBox
Lista de elección
Similar a combo box pero permite seleccion multiple.
JList jlst = new JList(new Object[]
{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5",
"Item 6"});
jlst.setForeground(Color.RED);
jlst.setBackground(Color.WHITE);
jlst.setSelectionForeground(Color.PINK);
jlst.setSelectionBackground(Color.BLACK);
jlst.setVisibleRowCount(4);
javax.swing.JComponent

selectionMode puede ser:


SINGLE SELECTION, SINGLE INTERVA SELECTION,
MULTIPLE INTERVAL SELECTION)
Barrras de deslizamiento
javax.swing.JScrollBar
¿Dudas?

También podría gustarte