Primeros pasos con Swing

0
65165
 TUTORIAL DE SWING 

Aquí mostraremos como crear una interfaz grafica de usuario (GUIs) para aplicaciones y applets, usando componentes Swing. Los components Swing son parte de las JFCs JavaTM Foundation Classes, podemos encontrarlos en el paquete javax.swing de la plataforma Java.

Nos podemos encontrar con los siguientes componentes swing, según la siguiente jerarquía

En el nivel superior se encuentran los contenedores de alto nivel (JFrame,JDialog, JApplet).
En el nivel inferior se encuentran los componentes atómicos (JButton, JComboBox, JTextField, JTable, etc).

A excepción de los contenedores de alto nivel, todos los demás componentes Swing cuyo nombre empieza por «J» descienden de la clase JComponent. Por ejemplo JPanel, JScrollPane, JButton, y JTable.

Para aprender a utilizar los componentes Swing lo mejor es hacer una pequeña aplicación. He escogido el típico programa de conversor de temperaturas porque tiene los componentes más importantes y además he añadido el JSlider para introducir valores en el campo de texto JTextField, normalmente este componente se suele utilizar para evitar posibles errores al introducir valores en el componente JTextField y también hemos añadido la característica de poder combinar HTML con los componentes Swing.

A continuación explico los aspectos de código más significativos y que deben ser suficientes para entender todo el código.

Primero se declaran los componentes Swing que se va a utilizar:

JFrame converterFrame;
JPanel converterPanel;
JSlider slider;
JTextField tempCelsius;
JLabel celsiusLabel, fahrenheitLabel;
JButton convertTemp;

Luego se inicializan con los valores apropiados:

converterFrame = new JFrame(windowTitle);
tempCelsius = new JTextField(2);
celsiusLabel = new JLabel(«Celsius», SwingConstants.LEFT);
slider = new JSlider(JSlider.HORIZONTAL,0,100,36);
convertTemp = new JButton(«Convierte…»);
fahrenheitLabel = new JLabel(» Grados Fahrenheit», SwingConstants.LEFT);

Y otra de las cosas más importantes son el tratamiento de eventos, para este caso necesitamos recoger los eventos del botón y los eventos del componente JSlider.

Lo primero que tenemos que hacer es añadir el evento listener para el botón:

convertTemp.addActionListener(this);
…………
public void actionPerformed(ActionEvent e) {
int tempFahr = (int)((Double.parseDouble(tempCelsius.getText()))
* 1.8 + 32);
………
}

Para capturar los eventos del JSlider debemos de añadir el evento chage Listener:

slider.addChangeListener(new SliderListener());
……….
class SliderListener implements ChangeListener {
public void stateChanged(ChangeEvent e) {
…………..
}
}

En este ejemplo hemos utilizado HTML para la etiqueta fahrenheitLabel. Como se puede ver la temperatura (tempFahr) se muestra en diferentes colores dependiendo del valor de la temperatura:

// Ponemos color a los grados
if (tempFahr » + tempFahr
+ «»&#176 Fahrenheit

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad