Swing
Swing es un conjunto de paquetes construido en la
parte ms alta de AWT que proporciona un gran nmero
de clases preconstruidas (aproximadamente 250 clases
y 40 componentes UI).
JApplet: Versin extendida de [Link] que
aade el soporte para los paneles base y otros paneles.
JButton: Pulsador o comando de botn.
JCheckBox: Casilla de activacin que puede ser
seleccionada o deseleccionada, de forma que
visualmente se pueda saber su estado.
JColorChooser: Panel de controles que permite al
usuario seleccionar un color.
JComboBox: Cuadro de lista desplegable, que es
una combinacin de cuadro de texto y lista
desplegable.
JComponent: Clase base para los componentes
Swing.
JDesktopPane: Contenedor usado para crear una
interfaz de documentos mltiples o un escritorio.
JDialog: Clase base para crear un cuadro de
dilogo.
JEditorPane: Componente de texto que permite al
usuario editar varios tipos de contenido.
JFiEechooser: Permite al usuario elegir un archivo.
JFrame: Una versin extendida de [Link]
que aade soporte para los paneles base y otros
paneles.
JInternalFrame: Un objeto de peso ligero que
proporciona muchas de las caractersticas de un
frame peso pesado.
JInternalFrame. JDesktopIcon: Representa una
versin iconificada de un JInternalFrame.
JLabel: rea visualizable para una cadena de texto
corta o una imagen(o ambos).
JLayeredPane: Aade capas a un contenedor Swing,
permitiendo que los componentes se solapen unos
con otros.
JList: Componente que permite al usuario seleccionar
uno o ms objetos de una lista.
JMenu: Un men de lista desplegable que contiene
Jmenultems, que se visualiza cuando el usuario lo
selecciona en el componente JMenuBar.
JMenuBar: Una implementacin de una barra de
men.
JMenultem: Una implementacin de una opcin de
men.
JOptionPane: Facilita la posibilidad de que emerja un
cuadro de dilogo estndar.
JPanel: Un contenedor genrico peso ligero.
JPasswordField: Permite editar una lnea simple de
texto donde no muestra los caracteres originales.
JPopupMenu: Un men emergente.
[Link]: Separador de un men
especfico emergente.
JProgressBar: Componente que visualiza un valor
entero en un intervalo.
JRadioButton: Botn de opcin que puede ser
seleccionado o no, marcando su estado visualmente.
JRadioButtonMenuZtern: Botn de opcin de un
elemento de men.
JRootPane: Componente fundamental de la jerarqua
del contenedor.
JScrollBar: Implementacin de una barra de
desplazamiento.
JScrollPane: Contenedor que gestiona barras de
desplazamiento verticales y horizontales y las
cabeceras de filas y columnas.
JSeparator: Separador de men.
JSlider: Componente que permite al usuario
seleccionar un valor deslizando un botn en un
intervalo.
JSplitPane: Divide dos componentes.
JTabbedPane: Permite al usuario cambiar entre un
grupo de componentes haciendo clic sobre lengetas.
JTable: Presenta datos en un formato de tabla
bidimensional.
JTextArea: rea de mltiples lneas que visualiza texto
plano.
JTextFieEd: Permite la edicin de una lnea de texto
sencilla.
JTextPane: Componente de texto que se puede marcar
con atributos.
JToggleButton: Botn de dos estados.
JToggleButton, ToggleButtonModel: Modelo de botn
toggle.
JToolBar: Barra de herramientas, til para visualizar
controles usados normalmente.
[Link]: Separador especfico de barra de
herramientas.
JToolTip: Visualiza una utilidad para un componente.
JTree: Visualiza un conjunto de datos jerrquicos.
JTree.DynamicUti1TreeNode: Permite separar
vectoreslhashtables/ arrays/cadenas y crear nodos
apropiados para los hijos.
JTree.EmptySelectionMode1: Modelo de eleccin de
rbol que no permite seleccionar nada.
JViewport: Vista mediante la que se ve informacin.
JWindow: Ventana que puede visualizarse en
cualquier sitio del escritorio.
Caractersticas Swing
Adems del gran array de componentes en Swing y el
hecho de que sean peso ligero, Swing introduce
muchas otras innovaciones. Estas son algunas de
ellas:
Bordes: Se pueden dibujar bordes alrededor de los
componentes, de diferentes, utilizando el mtodo
setBorder.
Debugging de grficos: Se puede usar el mtodo
setDebugging-GraphicsOptions para iniciar el
debugging de grficos, lo que significa, entre otras
cosas, que se puede ver cada lnea cuando se est
dibujando y hacerla un flash.
Facilidad de operaciones sin ratn: Ahora es fcil
conectar las teclas a los componentes.
Tooltips: Se puede usar el mtodo
[Link] para dar a los
componentes un tooltip, una de esas pequeas
ventanas con texto explicativo, que aparece cuando
se mueve el ratn alrededor de un componente.
Facilidad de desplazamiento: Ahora se puede conectar
el desplazamiento a varios componentes, algo que era
imposible con AWT.
Apariencia: Se puede establecer la apariencia de
las applets y aplicaciones como cualquiera de los
tres estndares: Windows, Motif (Unix) 0 Metal (la
apariencia estndar de Swing).
Nuevos gestores de esquemas: Swing introduce
los gestores BoxLayout y Overlayout.
JComponent
La clase JComponent es la base de todos los
componentes Swing.
Formalmente hablando, JComponent es realmente
la clase javax. swing. JComponent, porque javax es
el paquete que contiene Swing.
La clase JComponent aade bastantes cosas a la
clase AWT Container, como la posibilidad de dibujar
bordes predefinidos alrededor de componentes
UI, aadir objetos PropertyChangeListener, que son
notificados cuando se cambia el valor de la
propiedad, y mucho ms.
Campos de la clase JComponent.
protected AccessibleContext accessi: Soporte de
[Link] text
protected EventLstenerList IistenerList: Lista de los
listeners de eventos actuales.
static String TTOL- TIP- TEXT- KEY: Comentario que
se visualiza cuando el cursor est sobre el
componente.
protected ComponentUl ui: lnterfaz de usuario.
static int UNDEFINED-CONDITION: Constante usada
para indicar que no se ha definido ninguna condicin.
static int WHEN-ANCESTOR-OF -FOCUSEDCOMPONENT: Usado por registerKeyboardAction(),
indicando que se debera llamar al comando cuando
el componente que recibe es un progenitor del
componente que tiene el
foco.
static int WHEN- FOCUSED: Constante usada por
registerKeyboardAction(), indicando que se debera
llamar al comando cuando el componente tenga el
foco.
static int WHEN-IN-FOCUSEDWlNDOW: Constante
usada por registerKeyboardAction(), indicando que
se debera llamar al comando cuando el componente
tenga el foco.
Constructor de la clase JComponent.
Component: Constructor por defecto de
JComponent.
Mtodos de la clase JComponent.
voidaddAncestorListener(AncestorLis: Registra el
listener para que tener listener) reciba
AncestorEvents.
void addNotify(): Notificacin de que este
componente tiene ahora un componente padre.
void addPropertyChangeListener: Aade un
PropertyChangeLis- (PropertyChange Listener
listener) tener a la lista de listener.
voidaddPorpertyChangeListener(String: Aade un
PropertyChangepropertyName,
PropertyChangeListener Listenerpara una
propiedad listener) especfica.
voidaddVetoableChangeListener : Aade un
VetoableChangeLis- (VetoableChangeListener
listener) tener a la lista de listener.
void compute VisibleRect(Rectang1e : Obtiene el
rectngulo visible del visible Rect) componente.
boolean contains(int x, in t y): Determina si el
componente contiene el punto dado.
JtoolTip create ToolTip(): Obtiene la instancia de
JtoolTip que debera usarse para visualizar el
tooltip.
void firePropertyChange(String property: Reporta un
cambio de propiedad Name, boolean oldValue,
boolean new- de fronteras. Value)
void firePropertyChange(String proper: Reporta un
cambio de propiedad tyName, byte oldValue, byte
newvalue) de fronteras.
void firePropertyChange(String property: Reporta un
cambio de propiedad Name, char oldValue, char
newvalue) de fronteras.
void firePropertyChange(String property: Reporta un
cambio de propiedad Name, double oldValue, double
newvalue) de fronteras.
void firePropertyChange(String property: Reporta un
cambio de propiedad Name, float oldValue, float
newvalue) de fronteras.
void firePropertyChange(String property: Reporta un
cambio de propiedad Name, int oldvalue, int
newvalue) de fronteras.
void firePropertyChange(String property: Reporta un
cambio de propiedadName, Iong oldValue, long
newvalue) de fronteras.
void firePropertyChange(String property: Proporciona
soporte para repor-Name, Object oldValue, Object
new- tar los cambios en las propieda-Value) des de
fronteras.
void firePropertyChange(String property: Reporta un
cambio de propiedad Name, short oldValue, short
newvalue) de fronteras.
protected void fireVetoableChange(String:
Proporciona soporte para reporpropertyName,
Object oldValue, Object tar los cambios de
propiedades. newvalue)
AccessibleContextgetAccessibleContext(): Obtiene
el AccessibleContext asociado con este
JComponent.
ActionListenergetActionForKeyStroke: Obtiene el
objeto que ejecutar (KeyStroke a KeyStroke) la
accin registrada para una combinacin de teclas
dada.
float getAlignmentX(): Obtiene la alineacin vertical.
float getAlignmentY(): Obtiene la alineacin horizontal.
boolean getAutoscrolls(): Devuelve verdadero si este
componente automticamente desplaza su contenido
cuando se arrastra.
Border getBorder(): Obtiene el borde de este
componente o nulo si no est el borde.
Rectangle getBounds(Rectange rv): Almacena las
fronteras de este componente en rv y devuelve rv.
Object getClientProperty(0bject key): Obtiene el valor
de la propiedad con la tecla especificada.
protected Graphics getcomponent: Obtiene el
objeto grfico usado Graphics(Graphics g) para
pintar este componente.
int getConditionForKeyStroke(Key: Obtiene la
condicin que deter-Stroke a KeyStroke) mina si
ocurre una accin para la tecla aceleradora
especificada.
int getDebugGraphicsOptions(): Obtiene el estado
del debugging de grficos.
Graphics getGraphics(): Obtiene el contexto de
grficos de este componente.
int getHeight(): Obtiene la altura actual de este
componente.
lnsets getlnsets(): Si se ha establecido un borde
para este componente, el mtodo obtiene los
intercalados. De lo contrario llama a super. get-
insets.
lnsets getlnsets(lnsets insets): Obtiene un objeto
lnsets para este componente.
Point getLocation(Point rv): Almacena el origen x,y
de este componente en rv y devuelve rv.
Dimension getMaximumSize(): Obtiene el tamao
mximo del componente.
Dimension getMinimumSize(): Obtiene el tamao
mnimo del componente.
Component getNextFocusableCom: Obtiene el
siguiente componente ponent() que debe tener el
foco o null.
Dimension getPreferredSize(): Si el tamao preferido
se ha establecido a un valor no nulo, este mtodo lo
devuelve.
KeyStroke[] getRegisteredKeyStrokes(): Obtiene las
teclas aceleradoras que inician acciones.
JRootPane getRootPane(): Obtiene el progenitor de
un componente.
Dimension getSize(Dimension rv): Almacena la
anchura y altura de este componente en rv y
devuelve rv.
Point getToolTipLocation(Mouse Event ): Obtiene la
posicin del tooltip event) en el componente.
String getToolTipTex(): Obtiene la cadena tooltip
que se ha establecido consetToolTp-Texto.
String getToolTipText(MouseEvent event): Obtiene
la cadena a utilizar por
el tooltip en ese evento.
ContainergetTopLevelAncestro(): Obtiene el
primer antecesor del componente.
String getUIClasslD(): Obtiene la clave UlDefaults
usada para encontrar el nombre de la clase
[Link]. ComponentUI.
Rectangle getVisibleRect(): Obtiene el rectngulo
visible del componente.
int getWidth(): Obtiene la anchura actual.
int getX(): Obtiene la coordenada x actual del origen
de este componente.
int getY(): Obtiene la coordenada y actual del origen
de este componente.
void grabFocus(): Fija el foco en el componente.
boolean hasFocus(): Devuelve verdadero si este
componente tiene el foco del teclado.
boolean isDoubleBuffered(): Indica si el componente
receptor debera usar un bufferpara pintar.
boolean isFocusCycleRoot(): Devuelve verdadero si el
componente
es la raz de un rbol de componente con un ciclo de
foco.
boolean isFocusTraversable(): Especifica si este
componente puede recibir el foco.
static boolean isLightweightComponent(Component
c): Devuelve verdadero si este componente es peso
ligero.
boolean isManagingFocus(): Devuelveverdadero si el
componente gestiona el foco.
boolean sopaque(): Devuelveverdadero si el
componente es opaco.
boolean isOptimizedDra wingEnabled(): Devuelve
verdadero si el componente titula a sus hijos.
boolean isPaintingTile(): Devuelve verdadero si el
componente est pintando un entramado.
boolean isRequestFocusEnabled(): Devuelveverdadero
si el componente receptor puede obtener el foco.
Para arrancar un applet Swing, basta derivar una clase
de la clase Japplet como sigue (observe que importamos
[Link]. * para usar JApplet):
Campos de la clase JApplet.
protected AccessibleContext accessi Blecontext:
Accesibilidad a un contexto.
protected JRootPane rootPane: Panel raz.
protected boolean rootPanechecking Enabled : Indica
si se producirn errores al in-tentar aadir
Constructor de la clase JApplet.
JApplet(): Crea una instancia a un applet S wing.
protected void addlmpl(Component comp, Object
constraints, int indice) : Aade hijo al content pane.
protected JRootPane createRootPane(): Lo llaman
los mtodos del constructor para crear el
rootpanepor defecto.
AccessibleContext getAccessible- Contexto:
Obtiene el contexto accesible aso-ciado con esta
JApplet.
ContainergetContentPane(): Obtiene el
objetocontentPanepara esta applet.
Cornponent getGlassPane(): Obtiene el objeto
glasspanepara esta applet.
JMenuBargetJMenuBar(): Obtiene la barra de men para
esta applet.
JLayeredPane getLayeredPane(): Obtiene el objeto
IayeredPane para esta applet.
JRootPane getRootPane(): Obtiene el objeto rootPane
para esta applet.
protected boolean isRootPaneCheck- Enabled() : Devuelve
verdadero si la verificacin delrootpaneest habilitado.
protected String pararnString(): Obtiene una
representacin en cadena de esta JApplet.
protected void processKeyEvent(KeyEvent e): Procesa
eventos clave que ocurren en este componente
envindolos a los objetos KeyListener.
void remove(Component cornp): Elimina el componente
especificado de este contenedor.
void setContentPane(Container con-tentPane): Fija la
propiedad contentpane.
void setGlassPane(Component glass-Pane): Obtiene la
propiedad glasspane.
void setJMenuBar(JMenu5ar rnenuBar): Obtiene la barra
de men de esta applet.
void setLeyeredPane(JLayeredPaneIayeredPane):
Obtiene la propiedad IayeredPane.
void setLayout(LayoutManager manager): Fija el
esquema de este contentpane.
protected void setRootPane(JRootPaneroot): Fija la
propiedad rootpane.
protected voidsetRootPaneCheckingEnabled(boo1ean
enabled): Si es verdadero, llamaa addy setlayout
causar una excepcin.
void update(Graphics g): Llama paint(g).No vuelve a
dibujar el fondo.
Tanto JApplet como JFrame tienen un objeto hijo, un
objeto de la clase JRootPane, y el content pane es
parte de root pane. Echaremos un vistazo a los root
panes en el siguiente punto.
Campos de la clase JRootPane:
protected Container contentpane: El content pane.
protected JButton defaultButton: Botn que est
activado cuando el panel tiene el foco y se produce
una accin, como es presionar la tecla Intro.
[Link]. DefaultAction
defaultPressAction: Accin que se produce cuando se
presiona el botn por defecto.
[Link]. JRootPane. DefaultAction
defaultReleaseAction: Accin que se produce cuando
el botn, por defecto, se suelta.
protected Component glassPane: Glass pane que
cubre la barra de men y el content pane, por lo que
pueden interceptar los movimientos de ratn.
protected JLayeredPane IayeredPane: El layered pane que gestiona la barra de
men y el content pane.
protected JMenuBar menuBar: Barra de men.
Constructor de la clase JRootPane:
JRootPanel(): Crea un componente JRootPane,
estableciendo sus componentes glasspane,
LayeredPane y contentPane.
Mtodos de la clase JRootPane:
protected void addlmpl(Componentcomp, Object
constraints, int indice): Sobrescrito por Swing.
void addNotify(): Registra un nuevo root pane.
protected Container createcontentPane(): Llamado por
los mtodos constructores para crear el contentpane
por defecto.
protected Component createGlassPane(): Llamado por
los mtodos constructores para crear el glass pane
por defecto.
protected JLayeredPane createpane. LayeredPane():
Llamado por los mtodos constructores para crear el
layered por defecto.
protected LayoutManager createRootLayout():
Llamado por los mtodos constructores para crear el
layout manager por defecto.
Component findComponentAt(int x, int y): Localiza el
componente hijo visible que contiene la posicin
especificada
AccessibleContextgetAccessibleContexto(): Obtiene
el contexto accesible.
ContainergetContentPane() : Obtiene el content pane.
JButton getDefaultButton(): Obtiene el botn por
defecto.
Component getGlassPane(): Obtiene el glass pane.
JMenuBar getJMenuBar(): Obtiene la barra de men del
layered pane.
JLayeredPane getLayeredPane(): Obtiene el layered
pane usado por el root pane.
JMenuBar getMenuBar(): Obsoleto. Reemplazado por
getJMenubar().
boolean S FocusCycle Root(): Forma la raz de un ciclo
de foco.
protected String paramString(): Obtiene una
representacin en cadena de root pane.
void removeNotify(): Elimina el registro desde
SystemEventQueueUtils.
voidsetContentPane(Containercontent): Fija el content
pane.
void setDefaultButton(Jbutton defa ultButton): Fija el
botn actual por defecto.
voidsetGlassPane(Componentglass): Fija un
componente especificado para ser el glass pane para
este root pane.
void setJMenuBar(JMenuBar menu): Aade o cambia la
barra de men usada en el layered pane.
voidsetLayeredPane(JLayeredPanelaye red): Fija el
layeredpane para elrootpane.
void setMenuBar(JMenuBar menu): Obsoleto.
Reemplazado porsetJMenuBar.