Una vez definido el layout, podemos iniciar la inclusión de los componentes

Dado que todos los componentes, heredan de JComponent, podemos revisar los métodos más importantes, y que serán comunes a todos.

Dimension getMaximumSize()
Dimension getMinimumSize()
Dimension getPreferredSize()
Dimension getSize(Dimension d)
void setMaximumSize(Dimension d)
void setMinimumSize(Dimension d)
void setPreferredSize(Dimension d)
void setSize(Dimension d)
void setSize(int width, int height)
Devuelve y establece los valores acerca del tamaño del componente
String getToolTipText()
void setToolTipText(String text)
Devuelve o establece el toolTip (mensaje emergente que aparece al situar el ratón encima del componente)
boolean isFocusable()void setFocusable(boolean focusable) Indica el estado / activa la posibilidad de que reciba foco
boolean isVisible()void setVisible(boolean v) Indica el estado / activa la visibilidad del componente
boolean isEnabled()void setEnabled(boolean e) Indica el estado / activa el componente
boolean requestFocusInWindow() Activa el foco en el componente
boolean isOpaque()void setOpaque(boolean opaque) Indica el estado / activa la opacidad del componente
void setBackground(Color color)
color getBackGroung()
Devuelve o establece el color de fondo del componente
void setForeground(Color color)
color getForeground ()
Devuelve o establece el color de primer plano del componente
void setBounds(int x, int y, int width, int height) Establece la posición y el tamaño del componente

 

Eventos

Todos los componentes de Swing disponen de ComponentEvent/ComponentListener , que se dispara cuando el componente cambia de visibilidad, tamaño, o posición

 

 

JPanel – Contenedor para todo tipo de componentes

Podemos crear tantos paneles como necesitemos, cada uno con el Layout que nos interés, y dentro añadir los componentes necesarios, Luego estos paneles se añaden al panel estándar que incorpora, por ejemplo, Frame, para montar la pantalla

Constructor

JPanel() Crea un panel con el Layout por defecto
JPanel(LayoutManager layout) Crea un panel con el layout indicado

 

En el ejemplo siguiente, modificamos la clase PrRadioButton, para añadir los botones dentro de un subpanel, y aprovechar para darle color y bordes

java jpanel swing

Para conseguir que los radios también tomen color, deberemos utilizar setBackground también con ellos, y para que sea más fácil de mantener, podríamos hacer que los botones cogieran el color desde el panel; de esta forma solo deberíamos cambiar el color en un sitio

 

 

 

JButton – Botón que puede contener texto

Constructores

JButton() Crea botón sin texto ni icono
JButton(String s) Crea el botón con texto
JButton(Icon i) Crea el botón con el icono.

 

Para poder utilizar los Iconos, deberemos instanciarlos previamente, con el constructor de ImageIcon, que espera la ruta de una imagen

JLabel – Representa una etiqueta  de texto o imagen, que no puede ser modificada

Constructores

public JLabel ()public JLabel (java.lang.String text)

public JLabel (java.lang.String text,
int horizontalAlignment)

public JLabel (Icon image)

public JLabel (Icon image, int horizontalAlignment)

public JLabel (Java.lang.String text, Icon icon,
int horizontalAlignment)

Al construir el JLabel, podemos incluir el texto, la imagen e indicar la alineación, esto último utilizando las constantes de SwingConstants LEFT, CENTER, RIGHT, LEADING, TRAILING.

 

JTextComponent – Componentes de texto

Es la clase abstracta de la que heredan todos los componentes que son cajas editables,y que se dividen en dos grupos; los que gestionan texto plano como TextField, JPasswordField, JFormattedTextField, y JTextArea, y los que soportan características de edición, como Negrita, Subrayado, Fuente, Color,… y que son JEditorPane y JTextPane

Los métodos comunes que van a heredar el resto de clases de texto son:

void copy() Copia el texto seleccionado en el portapapeles
void cut() Mueve el texto seleccionado al portapapeles
void paste() Pega el contenido del portapapeles
void select(int start, int end)void selectAll() Selecciona el área indicada o todo el contenido
String getSelectedText() Devuelve el texto seleccionado
int getselectionStart()
int getSelectionEnd()
void setSelectionEnd(int end)
void setSelectionStart(int start)
Devuelve o establece la posición del primer/ultimo carácter del texto seleccionado
String getText()
String getText(int offset, int length)
void setText(String newText)
Devuelve o establece todo o la parte indicada del texto del componente
void setEditable(boolean editable)
boolean isEditable()
Comprueba o establece la condición de editable

 

JTextField – Presenta un campo de texto plano    

JPasswordField – Campo para texto plano en donde no se visualiza lo escrito

Dispone de constructores para indicar el texto inicial y el número de columnas que soportará

Su utilización, puede ser algo así

Pero si queremos ver algo más, deberíamos añadir eventos, ya que no podremos recoger el valor de estos campos, hasta que alguien (el evento) nos diga que se ha llenado, y también vamos a empezar a aislar un poco las pantallas.

JTextArea – Area de entrada de texto multilinea

Dispone de constructores para indicar el texto inicial y el número de columnas y el número de filas que soportará

Dispone de métodos para indicar filas (setRows), columnas (setColumns), tipo de fuente (setFont) y un método para insertar texto en una posición determinada (insert), y otro para añadir texto al final (append)

Su utilización puede ser así:

java swing JTextArea

JToggleButton Boton que presenta dos estados

Se pueden implementar independientes (Checkboxes) o Exclusivos (RadioButton)

Constructores

JToggleButton() Crea el botón sin texto/imagen y lo deja OFF.
JToggleButton(Icon icon) Crea un botón deseleccionado con imagen
JToggleButton(Icon icon, boolean selected) Crea el botón con imagen y estado
JToggleButton(String text) Crea el botón con texto, lo deja sin seleccionar
JToggleButton(String text, boolean selected) Crea el botón con texto y lo deja seleccionado

swing JToggleButton

 

 JCheckBox Permite seleccionar una opción entre varias

Constructor

JJCheckBox() Crea un Checkbox sin texto y desmarcado
JChechBox(String s) Crea un checkbox con texto
JCheckBox(String text, boolean selected) Crea un checkbox con texto y estado.

 

Métodos

Dispone de métodos isSelected/setSelected(boolean) para activar/o comprobar si está activo (marcado) el correspondiente checkbox

swing JCheckBox

 

JRadioButton – Despliega una lista de opciones y permite seleccionar una de ellas

Dispone de constructor vacío, constructor con String para añadir texto, y constructor con string y booleano para indicar estado

Como en un grupo estos botones son excluyentes, deberemos utilizar la clase ButtonGroup para indicar todos los botones que pertenecen a un mismo grupo

Métodos

Dispone de métodos isSelected/setSelected(boolean) para activar/o comprobar si está activo (marcado) el correspondiente JRadioButton

swing JRadioButton

 

JComboBox – despliega una lista de opciones para permitir elegir una

Constructor

JComboBox() Constructor vacío, deberemos añadir luego la lista.
JComboBox(Object[] items) Creará el combo con los objetos del array
JComboBox(Vector<?> items) Crea el combo con los objetos del vector

 

Métodos

void addItem(Object anObject) Añade opciones a la lista
void removeItem(Object anObject) Borra opción de la lista
void removeAllItems() Borra toda la lista
void setEditable(boolean b) Indica si el combo es editable
Object getSelectedItem() Devuelve el objeto seleccionado

swing JComboBox

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.