| Selector de colores |
| Paso 1: Operativa |
Creación de la Clase SelectorColoresMarc
El selector de colores lo crearemos en una ventana siguiendo los siguientes pasos:
nos situamos en la ventana Projects y con el botón derecho del ratón seleccionamos el paquete paqawt. Entonces elegimos New | Other...

se abre el cuadro de diálogo New File y abrimos las carpetas Java GUI Forms y AWT Forms. Entonces elegimos Frame Form y hacemos clic sobre el botón
.
se abre el cuadro de diálogo New Frame Form. En el campo de texto Class Name: introducimos el nombre de la Clase SelectorColoresMarc y finalmente hacemos clic sobre el botón 

Este Asistente (Wizard) nos ha creado una pestaña llamada SelectorColoresMarc, la cual contiene dos botones Design y Source.
Cuando el botón Design está activo entonces el IDE nos proporciona un entorno gráfico para diseñar nuestras aplicaciones visuales. Si hacemos clic sobre el marco que tenemos en el área de diseño podemos ver la ventana Properties que en el futuro nos será muy útil para cambiar las diferentes propiedades de los componentes visuales Java.

Ahora vamos a hacer clic sobre el botón Source para ver el código fuente Java generado por el Asistente
NetBeans, al igual que otros entornos de desarrollo Java, no permite que el desarrollador pueda modificar código en algunos métodos que están relacionados con el entorno gráfico.
La causa de esta restricción es debido a la sincronización que el entorno de desarrollo tiene que realizar cuando pasa de Diseño a Código fuente y viceversa.
Para evitar posibles errores en la escritura de código relacionado con la parte visual, NetBeans prefiere que el trabajo visual se realice directamente en este caso en el entorno gráfico en vez de codificarlo nososotros mismos.
NetBeans nos indica que no podemos modificar o añadir nuevo código con un fondo de color azul

Este es el código de la Clase SelectorColoresMarc creado por el Asistente
package paqawt;
public class SelectorColoresMarc extends java.awt.Frame {
public SelectorColoresMarc() {
initComponents();
}
private void initComponents() {
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
pack();
}
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new SelectorColoresMarc().setVisible(true);
}
});
}
}
|
- new SelectorColoresMarc().setVisible(true);
- se crea una instancia de la Clase SelectorColoresMarc
- public SelectorColoresMarc() {
initComponents();
}
- cuando se está creando el Objeto se llama al Constructor y éste a su vez realiza una invocación al método initComponents()
- en entornos de desarrollo como por ejemplo JBuilder , en vez de llamar a este método hubiera llamada al método jbInit(). Estos IDEs se crean un método propio donde depositan el código Java referente a la parte visual. Así cuando pasamos del entrono de codificación al entrono visual el parsing de código java a entorno visual lo realizan de una forma más rápida y optimizada.
- el código de este método ya lo estudiaremos más adelante.
- new SelectorColoresMarc().setVisible(true);
- como podemos observar el Asistente no nos ha creado un código con una variable de referencia como por ejemplo
- SelectorColoresMarc marco = new SelectorColoresMarc();
marco.setVisible(true);
- por que en este caso ha considerado que la variable de referencia marc no la necesita. Simplemente crea un Objeto de tipo SelectorColoresMarc y seguidamente en la misma línea de código ya habla con uno de sus métodos sin necesidad de utilizar una variable de referencia.
- el método setVisible(true) se utiliza para mostrar en pantalla el Objeto SelectorColoresMarc que ya está instanciado en memoria. Más adelante ya veremos como las aplicaciones gráficas primero se construyen en memoria y seguidamente cuando todos sus componentes ya están inicializados se muestran dichos componentes en la pantalla.
Ahora ejecutamos esta Clase, y vemos una ventana sin dimensiones
Para que el Frame (marco, ventana) tenga dimensiones , vamos a modificar el código perteneciente al método main(...)
package paqawt;
public class SelectorColoresMarc extends java.awt.Frame {
public SelectorColoresMarc() {
initComponents();
}
private void initComponents() {
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
pack();
}
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
SelectorColoresMarc marco = new SelectorColoresMarc();
marco.setSize(300,200);
marco.setTitle("Selector de colores");
marco.setVisible(true);
}
} |
Y ahora ya podemos ejecutar esta Clase para ver una ventana con dimensiones.