Visueller Editor für webforJ
Sieh dir die App an, die du mit Java erstellt hast. Ändern Sie es, während es läuft.
craftforJ läuft im Entwicklungsmodus innerhalb Ihrer App. Es zeigt den von Ihrem Code erstellten Komponentenbaum, lässt Sie Eigenschaften live ändern und schreibt die Änderungen, die Sie übernehmen, zurück in die Java-Datei, in der die Komponenten erstellt wurden.
Vier Tastenkombinationen decken die Schleife ab
- Öffnen oder schließenAltShiftD
- Komponente auswählenAltShiftC
- Änderungen überprüfenCmd/CtrlS
- Änderung rückgängig machenCmd/CtrlZ

So funktioniert es
Es liest deine App aus. über webforJ selbst
Deshalb beschreibt es die App mit den Begriffen, die Sie beim Schreiben verwendet haben. Der Baum listet Ihre Komponenten auf, die Eigenschaften sind die, die Ihre Komponenten deklarieren, und die Routen sind die, die Ihr Router registriert hat – mit den Zugriffsregeln, die Sie ihnen zugeordnet haben.
- 01
Öffnen
Klicken Sie in Ihrer App auf die Trigger-Schaltfläche oder drücken Sie an beliebiger Stelle Alt+Umschalt+D.
- 02
Auswählen
Drücken Sie Alt+Umschalt+C, bewegen Sie den Mauszeiger über eine Komponente und klicken Sie darauf. Der Baum markiert sie und die Seitenleiste zeigt ihre Eigenschaften an.
- 03
Ändern
Eigenschaft bearbeiten. Die laufende App wird sofort aktualisiert, Ihre Dateien bleiben unverändert.
- 04
Behalten
Änderung als Diff prüfen und auf die Java-Datei anwenden, mit der sie erstellt wurde.
Ein Rundgang durch die Panels
Die Bereiche, anhand einer echten App
Der Komponentenbaum, den Ihr Java erstellt hat
Der Inspector zeigt deine Komponenten, nicht das vom Browser gerenderte Markup. Ein Composite wird als die von dir geschriebene Klasse angezeigt und enthält seine untergeordneten Elemente in der Reihenfolge, in der webforJ sie verwaltet.
- Drücken Sie Alt+Umschalt+C und klicken Sie auf ein beliebiges Element auf der Seite, um es im Baum auszuwählen.
- Ändern Sie eine Eigenschaft in der Seitenleiste – die laufende App wird sofort aktualisiert.
- Komponente bis zur Java-Zeile zurückverfolgen, in der sie erstellt wurde.
Zurück zur Quelle
Es bearbeitet Java, keine Kopie davon
Nimm ein Formular mit den Schaltflächen „Speichern“ und „Abbrechen“. Wähle „Speichern“ aus, klicke im Baum mit der rechten Maustaste darauf und wähle „Aus Quelle entfernen“. Die Deklaration, das Theme, der Listener, seine Position im add()-Aufruf und der sonst nirgendwo verwendete ButtonTheme-Import werden entfernt. „Abbrechen“ bleibt erhalten.
Vorher
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);
}
}
Nach dem Entfernen aus der Quelle
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);
}
}
Zwei Einstellungen, beide erforderlich
craftforJ benötigt webforj.debug und webforj.devtools.craftforj.enabled. Keine der beiden Einstellungen bewirkt für sich allein etwas.
Standardmäßig lokaler Zugriff
Solange du keinen anderen Rechner in hosts-allowed angibst, kann nur ein Browser auf dem Rechner, auf dem die App läuft, darauf zugreifen.
Keine zusätzliche HTTP-Angriffsfläche
Es fügt keinen Endpunkt, kein Servlet und keinen Filter hinzu. Es nutzt die Verbindung, die Ihre App bereits hat.
Schreibt nur, was kompiliert.
Eine Entfernung aus dem Quellcode wird nur vorgenommen, wenn das Ergebnis weiterhin kompiliert; Dateien werden niemals gelöscht.
Erste Schritte
Einschalten in drei Schritten
craftforJ wird mit webforJ ausgeliefert, sodass nichts separat heruntergeladen werden muss. In Projekten, die mit startforJ oder aus einem webforJ-Archetyp erstellt wurden, ist es bereits aktiviert. Starten Sie die App und fahren Sie direkt mit Schritt drei fort.
- 1
Abhängigkeit hinzufügen
Fügen Sie webforj-devtools zu Ihrem Projekt hinzu, falls es noch nicht vorhanden ist.
pom.xml<dependency><groupId>com.webforj</groupId><artifactId>webforj-devtools</artifactId><version>${webforj.version}</version></dependency> - 2
Debug-Modus aktivieren und craftforJ
Setzen Sie beide Eigenschaften in webforj.conf oder bei einem Spring-Projekt in application.properties. craftforJ funktioniert nur, wenn beide aktiviert sind.
webforj.debug = truewebforj.devtools.craftforj.enabled = true - 3
Neu starten, neu laden und öffnen
Öffne die App auf dem Rechner, auf dem sie läuft. Über deiner App erscheint eine Trigger-Schaltfläche. Klicke darauf oder drücke AltShiftD an einer beliebigen Stelle in der App. Mit derselben Tastenkombination schließt du craftforJ wieder.

craftforJ wird standardmäßig über Ihrer App eingeblendet. Ziehen Sie es an einen Rand, um es dort anzudocken, oder verschieben Sie es für einen zweiten Monitor in ein eigenes Browserfenster oder einen eigenen Tab.
Wohin als Nächstes?
Jedes Panel hat eine eigene Seite. in der Dokumentation
webforJ ist das Full-Stack-Java-Framework für Business-Web-Apps: Sie erstellen die gesamte App inklusive aller Ansichten in Java. craftforJ wird mitgeliefert und funktioniert mit der gerade ausgeführten App.
- ÜbersichtWas craftforJ ist und was es Ihnen bietet
- Erste SchritteDie Abhängigkeit, die Einstellungen und das Öffnen
- Komponenten untersuchenBaum, Auswahl, Eigenschaften und Quelltextansicht
- Änderungen werden angewendetAusstehende Änderungen, die Überprüfung, rückgängig machen und wiederholen
- RoutenRouting-Tabelle, Navigation und Zugriffsregeln
- DesignDesign-Tokens, Voreinstellungen und Speichern in Ihrem Stylesheet
- KI-AssistentDer Agent, seine Freigaben und die Modellauswahl
- App-InfoVersionen, Java-Laufzeitumgebung und Projektstammverzeichnis
- KonfigurationJede Eigenschaft, ihr Standardwert und die Feature-Flags
- SicherheitWas es erreichen kann und wie Sie überprüfen, ob es ausgeschaltet ist
