Inspección de componentes
El Inspector muestra el árbol de componentes que creó tu código Java. Un Composite aparece como la clase que escribiste y contiene los elementos secundarios que le proporcionaste, en el orden en que webforJ los mantiene. Así, la estructura de craftforJ coincide con la de tu código fuente.

Seleccionar un componente
Para seleccionar un componente de la página, pulsa Alt + Shift + C y haz clic en él. craftforJ selecciona el nodo correspondiente en el árbol. Al pasar el cursor sobre un nodo del árbol, ocurre lo contrario: se resalta ese componente en la página. Así, puedes moverte entre la pantalla y el árbol en cualquiera de las dos direcciones.
Para buscar en el árbol, pulsa Cmd/Ctrl + F. Si encierras un término entre barras, se tratará como una expresión regular. Al hacer clic con el botón derecho en un nodo, se muestran las acciones disponibles. Puedes abrir su código fuente o enviarlo al asistente.
Consultar y cambiar propiedades
Al seleccionar un componente, la barra lateral muestra sus propiedades agrupadas según lo que afectan. Las propiedades disponibles dependen del componente, y algunas son de solo lectura. Las propiedades cuyo valor no se representa bien como texto sin formato tienen un editor adecuado para ese valor. Los cambios en los valores surten efecto de inmediato en la aplicación en ejecución.
Editar una propiedad solo cambia la aplicación que tienes delante. Para incorporar el cambio al código fuente, debes hacerlo en un paso aparte y de forma deliberada, tal como se describe en Escribir los cambios en el código fuente.
Ver el código fuente de un componente
Puedes rastrear cualquier componente hasta el código Java que lo creó. De forma predeterminada, el código fuente se abre en craftforJ en modo de solo lectura y se sitúa en la línea que creó el componente. También puedes configurar craftforJ para que lo abra en tu editor, en esa misma línea. Si no es posible rastrear un componente hasta una línea, craftforJ lo indica en lugar de abrir un visor vacío.

Eliminar un componente 26.03
Al hacer clic con el botón derecho en un componente del árbol y elegir Eliminar componente, se ofrecen dos formas de quitarlo. Una lo elimina de la aplicación que tienes delante y la otra lo elimina del proyecto.
Eliminar solo del navegador
Eliminar solo del navegador quita el componente de la aplicación en ejecución y deja intacto el código fuente Java. Úsalo para ver cómo queda un diseño sin un componente en particular antes de tomar una decisión.
La eliminación es temporal. El componente vuelve a aparecer la próxima vez que la aplicación genere esa vista a partir del código fuente, por ejemplo, después de recargar la página.
Eliminar del código fuente
Eliminar del código fuente edita el archivo Java que creó el componente, por lo que este seguirá eliminado después de que se vuelva a generar la aplicación. La eliminación se escribe de inmediato, en lugar de añadirse a los cambios pendientes, así que no hay una etapa de revisión antes de que llegue al archivo.
Escribir código Java hace que la aplicación se vuelva a generar y se reinicie, igual que al aplicar cambios. Si has configurado la recarga en vivo, esto ocurre automáticamente. De lo contrario, reinicia la aplicación manualmente.
Por ejemplo, considera un formulario con los botones Save y Cancel, donde Save tiene un tema y un listener de clics:
import com.webforj.component.button.Button;
import com.webforj.component.button.ButtonTheme;
import com.webforj.component.layout.flexlayout.FlexLayout;
public class ContactFormView {
public ContactFormView(FlexLayout layout) {
layout.setSpacing("1em");
Button save = new Button("Save");
save.setTheme(ButtonTheme.PRIMARY);
save.onClick(event -> {
save.setEnabled(false);
});
Button cancel = new Button("Cancel");
layout.add(save, cancel);
}
}
Si seleccionas Save y eliges Eliminar del código fuente, el resultado es el siguiente. Se eliminan la declaración, el tema, el listener y la posición del botón en la llamada a add(), junto con la importación de ButtonTheme, que ya no se usa. Después de que se vuelva a generar la aplicación, Cancel seguirá ahí:
import com.webforj.component.button.Button;
import com.webforj.component.layout.flexlayout.FlexLayout;
public class ContactFormView {
public ContactFormView(FlexLayout layout) {
layout.setSpacing("1em");
Button cancel = new Button("Cancel");
layout.add(cancel);
}
}
La eliminación abarca el componente y nada más:
- Al eliminar un contenedor, también se eliminan los componentes que contiene.
- Se limpia el código que solo existía para crear, configurar y añadir el componente. Esto incluye los campos y las importaciones que ya no se usan.
- El código que sigue siendo necesario en otros lugares se conserva. Si otra parte de la clase todavía utiliza el componente, por ejemplo, el listener de otro componente, craftforJ solo lo desvincula y deja el código que lo crea y configura.
- Al eliminar una instancia de un componente reutilizable, como un
Compositeque hayas escrito, solo se elimina ese uso. La clase que lo define no se elimina ni se modifica.
craftforJ solo escribe el archivo si el resultado sigue compilando. Nunca se eliminan archivos.
Cuándo no está disponible la eliminación
Eliminar del código fuente solo se ofrece cuando se permite escribir código Java tanto en la configuración de la aplicación como en el ajuste Java source changes de craftforJ. Esta opción no se ofrece para componentes creados en Kotlin ni para componentes que craftforJ no puede rastrear hasta una línea del código fuente.
Algunos componentes no se pueden eliminar del código fuente:
- Las rutas, que el enrutador coloca según su
@Route - El marco
- Los componentes que otro componente crea como parte de sí mismo. En su lugar, elimina el componente externo.
craftforJ también puede rechazar una eliminación si no encuentra el código fuente del componente o no puede determinar qué código debe eliminar. Por ejemplo, si una línea crea más de un componente del mismo tipo, la línea por sí sola no indica cuál seleccionaste.
Si se rechaza una eliminación, los archivos permanecen intactos y se indica el motivo:
No se pudo eliminar FlexLayout del código fuente: FlexLayout es una parte que ContactCard crea para sí mismo; elimina eso en su lugar
Deshacer una eliminación
Para restaurar un componente que eliminaste del código fuente, pulsa Cmd/Ctrl + Z en craftforJ. Se restaura el archivo tal como estaba antes de la eliminación. Si desde entonces editaste el archivo en tu propio editor, la operación de deshacer se bloquea en lugar de sobrescribir tus cambios. Consulta Deshacer y rehacer para saber cómo funciona la operación y qué hacer si se bloquea.


