sábado, marzo 22, 2008

NetBeans: ya soy adulto para escribir código!!

Atención: El siguiente post es una solución parcial, si descubres la solución completa, harás un enorme aporte

Evidentemente soy un programador al estilo Eclipse. No tengo nada en contra de NetBeans, al contrario, desde hace varias versiones lo vengo instalando y probando. Pero hay algo realmente molesto en este editor en cuanto a desarrollo de interfaces gráficas: El código autogenerado.
Lo malo de esto es que no es modificable por defecto, lo cual seria entendible si fuera lo único que utilizara el editor para "armar" el diseñador visual, sin embargo, NetBeans crea los archivos .form (en XML), los que aparentemente contienen (lo estoy visualizando en este momento) una descripción de todos los componentes del formulario.

Ahora, yo sé que NetBeans quiere lo mejor para mí, pero creo que ya soy grandecito para echarle mano al código autogenerado y aguantármelas si algo sale mal.

Entonces, querido lector, nada de abrir el NotePad para modificar el código a mano, NetBeans te ayudará (aunque no tan fácilmente). Aquí va una forma de modificar el código:

La siguiente aplicación son las ventanas que crea el mismo IDE para un proyecto de interfaces visuales:



A esta pantalla le he agregado un JButton común y corriente. Ahora bien, si se fijan en el código generado, está utilizando el constructor vacío del JButton, pero yo me he puesto caprichoso y quiero usar el constructor con string:

[generado.gif]

¿Cómo hacerlo? En primer lugar, vuelve a la parte de diseño visual, selecciona el botón y en la ventana de "Inspector", click derecho sobre nuestro botón y selecciona "Customize Code":


Ahora aparece la siguiente pantalla, donde podremos cambiar el código autogenerado simplemente seleccionando en el primer combo "custom creation":



Ahora, todo muy lindo, pero ¿como borro la propiedad setText("")?

Te juro, querido lector, que he buscado una solución para hacerlo desde NetBeans, pero no la encuentro. Tiene que haberla, esto no puede ser!!!!!
Cualquier ayuda será bienvenida.

Saludos