lunes, 17 de septiembre de 2012

Interfaz Grafica en Java [Primera parte]


Hola a todos. Debido a que tengo que aprenderme java para la facultad, pero aprenderlo por mi parte para rendir una equivalencia y no en el trasncurso de algun cuatrimestre. Empece hace unos dias a leer un libro de java desde cero.

Pero vine a compartirles con ustedes en una o dos partes de Interfaz Grafica. Dependiendo de que tan largo se haga xD

Introduccion

En java, los programas basados en GUI se implementan con el uso de las clases provenientes de los paquetes estándar javax.swing y java.awt.
Generalmente se prefiere utilizar las clases Swing por ser de peso ligero sobre las clases AWT.

Ventanas

Yo voy a hacer uso de Eclipse para hacer los ejemplos. Ustedes pueden usar el que mejor les parezca.

Para crear la ventana vamos a usar una clase que llamaremos Windows que herede de JFrame. Pero para ello vamos a necesitar importar los modulos de Swing.

import javax.swing.*;  // importamos los modulos de Swing

public class Windows extends JFrame {  // creamos una clase que hereda de JFrame


}

Dentro de esta clase vamos a utilizar un contructor para configurar las caracteristicas que uno quiera. Yo voy a poner las mas comunes.

Windows() {  // constructor
        setTitle("Ventana Nueva");  // titulo de la ventana
setSize(300, 200);  // tamaño                                      
setLocation(500, 500);  // ubicacion
        setVisible(true); // visibilidad, por defecto viene False, por ende necesitamos cambiarlo a true

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // terminamos la aplicacion al cerrar la ventana
}

Ya tenemos creada la ventana a gusto. Ahora en el metodo Main vamos a instanciar un objeto de la clase recien creada, al cual llamamos [B]vent[/B].

public static void main( String[] args) {
Windows vent = new Windows();
}

Ejecutamos y ...



ya podemos ver nuestra ventana creada con las caracteristicas elegidas. :)

Componentes Basicos

Creamos una ventana como la anterior, pero en el contructor agregamos...

Label

Instanciamos un objeto de JLabel.

JLabel label = new JLabel();  // instanciamos un objeto de JLabel
label.setText("Primer Label");  // le agregamos un texto
add(label);  // lo agregamos a la ventana

Por ahora agregaremos los componentes directamente en la ventana, mas adelante veremos como podemos reordenarlos.



Button

Instanciamos un objeto de JButton.

JButton button = new JButton();  // instanciamos un objeto de JLabel
button.setText("Primer Boton");  // le agregamos un texto
add(button);  // lo agregamos a la ventana



TextEdit

Instanciamos un objeto de JTextField.

JTextField text = new JTextField( "Introduzca el texto", 30 );  // tamaño y texto predeterminado
text.setEditable( true ); // habilitar el textedit
add(text);  // lo agregamos a la ventana



La linea del setEditable lo puse a proposito como para que conozcan otro atributo que pueden cambiar.

Combobox

Instanciamos un objeto de JComboBox.

JComboBox combo = new JComboBox();  // instanciamos un objeto de JComboBox
combo.addItem("PrimerElemento");  // agregamos un primer elemento
combo.addItem("SegundoElemento");  // agregamos un segundo elemento
combo.addItem("TercerElemento");  // agregamos un tercer elemento
add(combo);  // lo agregamos a la ventana



RadioButton

Instanciamos un objeto de JRadioButton.

JRadioButton radio = new JRadioButton( "Primer Radio Button", true );  // instanciamos un objeto de JRadioButton
add(radio);  // lo agregamos a la ventana



El contructor del radiobutton recibe un string como texto del componente y un valor booleano que determina si esta seleccionado o no.
Ademas si los Radiobutton estas agrupados, por medio de la clase [B]ButtonGroup[/B], solo puede seleccionarse uno a la vez.

CheckBox

Instanciamos un objeto de JCheckBox.

Este componente tambien recibe un string como texto del componente y un valor booleano que determina si esta seleccionado o no.

JCheckBox check = new JCheckBox( "Primer CheckBox" , true );  // instanciamos un objeto de JCheckBox
add(check);  // lo agregamos a la ventana



ListBox

Instanciamos un objeto de JList.

String options[] = {"Option 1","Option 2" ,"Option N"};  // lista de elementos
JList list = new JList(options);  // instanciamos un objeto de JList
add(list);  // lo agregamos a la ventana



Y hay muchos mas componentes. Como puede ser:


  1. JScrollBar
  2. JSlider
  3. JProgressBar
  4. JPasswordField
  5. JTextArea
  6. JMenuBar
  7. JMenu
  8. JDialog
  9. JToolTip
  10. Entre otros

Aqui les dejo la Jerarquía de clases real de los componentes Swing.

IMAGEN

Metodos que se pueden encontrar en los componentes son:

setFont: modifica la fuente del texto.
setHorizontalAlignment: modifica la alineacion del texto a lo largo del eje X.
getText(): obtiene el texto del componente.
setBackground: modifica el color del texto.
setForeground: modifica el color del fondo.

Esto es todo por ahora, en los proximos encuentros veremos como empezar a ordenar los componentes a nuestro gusto y los eventos.

Saludos. :)

No hay comentarios:

Publicar un comentario