tutorial gui form español descargar create java swing netbeans matisse

gui - ¿Cómo modificar/agregar código al método initComponents() en Java usando NetBeans?



swing controls en netbeans español (8)

¿Cómo modificar / agregar código al método initComponents() en Java en NetBeans? Cuando intento agregar cualquier línea de código, esta área parece ser de solo lectura y está resaltada en gris. Probablemente sea por seguridad, pero supongo que hay una manera de desactivarlo.


  1. Cerrar Netbeans
  2. Ir a la ruta de la carpeta donde está el archivo de formulario
  3. Copia de seguridad de los 2 archivos con extensiones ".form" y ".java"
  4. Edite los 2 archivos con extensiones ".form" y ".java" en el editor de bloc de notas. Por ejemplo, si su nombre de formulario es "myForm", debe tener los archivos "myForm.form" y "myForm.java" en la carpeta.
  5. El primer archivo ".form" es un archivo xml y el segundo ".java" es un archivo de código java
  6. Edite cuidadosamente su código en ambos archivos, guarde los cambios y abra NETBEANS. ¡Eso es!

Descubrí por prueba y error, que la inicialización que debe realizarse antes de que el usuario vea que el panel debe agregarse como "Código de Preinicio de inicio". En mi caso, necesitaba rellenar un cuadro desplegable (llamado "Opción" en AWT). Parece que hay muy poca documentación detallada disponible sobre el uso de Matisse. Entonces, espero que esto ayude a otros.


El método initComponents () es regenerado por el IDE a medida que creas tu IU en el editor de GUI. El método está "protegido" para evitar que esta regeneración sobrescriba el código escrito por el usuario.

Hay un par de formas para agregar código a este método, indirectamente:

  1. Coloque un nuevo componente en el ''lienzo'' del editor de diseño para la ventana.

  2. Ingrese el código como parte de una de las siguientes propiedades de código: Código de Pre-Creación, Código de Post-Creación, Código de Pre-Init, Código de Post-Init, Código de Post-Listener, Código de Pre-Población, Código de Post-población y After-All -Conocer código.

    Hay un par de otras propiedades de código que no alteran el método initComponents () ... pero pueden ser muy útiles: Código de declaración previa y Código de declaración posterior. alt text http://blogs.sun.com/vkraemer/resource/code-properties.png Nota: el editor de estas propiedades no es ''rico'', por lo que recomendaría crear métodos en el "editor regular" al que acaba de llamar en el initComponents ().

Puede modificar el código en el método initComponents () colocando o cambiando las propiedades ''regulares'' del ''panel base'' o los controles.


Es de suponer que lo que está haciendo es escribir una aplicación utilizando la herramienta de GUI de Matisse.

Matisse genera bloques de código no editables. Esto es requerido por Matisse para que la herramienta permanezca sincronizada con el código base.

Matisse proporciona varias opciones para permitir la inserción de código personalizado antes, después o dentro de bloques de código como initComponents() .

Vea la imagen de abajo:

Esto muestra la pestaña de propiedades para un jPanel y algunas de las opciones de inserción de código.


Para permitir cambios tanto en la fuente como en el editor de la GUI de Matisse, NetBeans evita la edición en lo que llama "bloques protegidos". Si bien puede imaginar que el IDE es capaz de interpretar casi cualquier tipo de código GUI que escriba, en la práctica, es mucho más fácil para los desarrolladores de IDE encapsular el código GUI generado automáticamente en un solo método (initComponents ()) y dejar el resto para que lo edites.

Si está seguro de que sabe lo que está haciendo, puede editar fácilmente el archivo .java desde un editor externo, pero:

  1. Asegúrese de guardar la versión actual en algún lugar
  2. verifique que sus cambios no hayan roto algo abriendo la clase en el editor visual de NetBeans una vez que haya terminado

Sí, el método initComponents es de solo lectura para mantener el control total del IDE. Puedes agregar el tuyo en el constructor justo después de initComponents.

public class NewJFrame extends javax.swing.JFrame { /** Creates new form NewJFrame */ public NewJFrame() { initComponents(); myInitComponents(); } public void myInitComponents() { }


Si hace clic con el botón derecho en el componente en la Design View , y luego hace clic en la Customize Code " Customize Code ", puede modificar el código en el código del componente InitComponent . Se pueden personalizar varias líneas de código explícito.


seleccione todo el código y cópielo en un editor externo como gedit o notepad.

Luego borre su archivo jframe.

Crea una nueva clase java en netbeans en el mismo paquete con el mismo nombre.

Copie todo el contenido del archivo editor y péguelo en su clase java recién creada.