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
IntroduccionEn 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.
VentanasYo 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
vent.
public static void main( String[] args) {
Windows vent = new Windows();
}
Ejecutamos y ...
(http://i.imgur.com/ZetyHbB.png)
ya podemos ver nuestra ventana creada con las caracteristicas elegidas. :)
Componentes BasicosCreamos una ventana como la anterior, pero en el contructor agregamos...
LabelInstanciamos 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.
(http://i.imgur.com/s1qSr.png)
ButtonInstanciamos 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
(http://i.imgur.com/d0cnd.png)
TextEditInstanciamos 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
(http://i.imgur.com/MhjfP.png)
La linea del setEditable lo puse a proposito como para que conozcan otro atributo que pueden cambiar.
ComboboxInstanciamos 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
(http://i.imgur.com/0QAlo.png)
RadioButtonInstanciamos un objeto de
JRadioButton.
JRadioButton radio = new JRadioButton( "Primer Radio Button", true ); // instanciamos un objeto de JRadioButton
add(radio); // lo agregamos a la ventana
(http://i.imgur.com/n0inG.png)
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
ButtonGroup, solo puede seleccionarse uno a la vez.
CheckBoxInstanciamos 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
(http://i.imgur.com/Z51j6.png)
ListBoxInstanciamos 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
(http://i.imgur.com/tBEmx.png)
Y hay muchos mas componentes. Como puede ser:
- JScrollBar
- JSlider
- JProgressBar
- JPasswordField
- JTextArea
- JMenuBar
- JMenu
- JDialog
- JToolTip
- Entre otros
Aqui les dejo la Jerarquía de clases real de los componentes Swing.
IMAGEN (http://i.imgur.com/HfBWw.png)
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. :)[/list]