Komponenten untersuchen
Der Inspektor zeigt den Komponentenbaum, den Ihr Java-Code erstellt hat. Ein Composite erscheint als die von Ihnen geschriebene Klasse und enthält die untergeordneten Komponenten in der Reihenfolge, in der webforJ sie verwaltet. So entspricht die Struktur in craftforJ der Struktur in Ihrem Quellcode.

Eine Komponente auswählen
Um eine Komponente auf der Seite auszuwählen, drücken Sie Alt + Shift + C und klicken Sie auf die Komponente. craftforJ wählt den entsprechenden Knoten im Baum aus. Wenn Sie den Mauszeiger über einen Knoten im Baum bewegen, wird umgekehrt die entsprechende Komponente auf der Seite hervorgehoben. So können Sie sich in beide Richtungen zwischen der Ansicht und dem Baum bewegen.
Um den Baum zu durchsuchen, drücken Sie Cmd/Ctrl + F. Wenn Sie einen Suchbegriff in Schrägstriche einschließen, wird er als regulärer Ausdruck behandelt. Ein Rechtsklick auf einen Knoten öffnet die dafür verfügbaren Aktionen. Sie können den Quellcode öffnen oder die Komponente an den Assistenten übergeben.
Eigenschaften anzeigen und ändern
Wenn Sie eine Komponente auswählen, werden ihre Eigenschaften in der Seitenleiste nach ihrer Funktion gruppiert angezeigt. Welche Eigenschaften eine Komponente bietet, hängt von der jeweiligen Komponente ab; manche Eigenschaften sind schreibgeschützt. Für Eigenschaften, die sich als einfacher Text nicht gut darstellen lassen, wird stattdessen ein Editor verwendet, der zum jeweiligen Wert passt. Änderungen an einem Wert werden sofort in der laufenden App wirksam.
Eine Änderung an einer Eigenschaft wirkt sich nur auf die App aus, die Sie gerade vor sich sehen. Damit die Änderung in Ihren Quellcode übernommen wird, ist ein separater, bewusster Schritt erforderlich, der unter Änderungen in den Quellcode schreiben beschrieben wird.
Den Quellcode einer Komponente anzeigen
Sie können jede Komponente bis zu dem Java-Code zurückverfolgen, mit dem sie erstellt wurde. Standardmäßig wird der Quellcode in craftforJ schreibgeschützt und an der Zeile geöffnet, in der die Komponente erstellt wurde. Sie können craftforJ so konfigurieren, dass der Quellcode stattdessen an derselben Zeile in Ihrem Editor geöffnet wird. Wenn sich eine Komponente keiner Zeile zuordnen lässt, meldet craftforJ dies, anstatt eine leere Ansicht zu öffnen.

Eine Komponente entfernen 26.03
Wenn Sie im Baum mit der rechten Maustaste auf eine Komponente klicken und Komponente entfernen auswählen, haben Sie zwei Möglichkeiten, sie zu entfernen. Mit einer wird sie aus der App entfernt, die Sie gerade vor sich sehen, mit der anderen aus Ihrem Projekt.
Nur aus dem Browser entfernen
Nur aus dem Browser entfernen entfernt die Komponente aus der laufenden App und lässt Ihren Java-Quellcode unverändert. Nutzen Sie diese Option, um zu prüfen, wie ein Layout ohne eine bestimmte Komponente aussieht, bevor Sie sich festlegen.
Die Entfernung ist vorübergehend. Die Komponente wird wieder angezeigt, sobald die App diese Ansicht erneut aus Ihrem Quellcode erstellt, zum Beispiel nach dem Neuladen der Seite.
Aus dem Quellcode entfernen
Aus dem Quellcode entfernen bearbeitet die Java-Datei, in der die Komponente erstellt wurde. Dadurch bleibt sie auch nach einem erneuten Erstellen der App entfernt. Die Änderung wird sofort geschrieben und nicht zu den ausstehenden Änderungen hinzugefügt. Daher gibt es keinen Prüfschritt, bevor sie in Ihrer Datei landet.
Das Schreiben von Java-Code führt dazu, dass Ihre App neu erstellt und neu gestartet wird – genauso wie beim Übernehmen von Änderungen. Wenn Live Reload konfiguriert ist, geschieht das automatisch. Andernfalls müssen Sie die App selbst neu starten.
Angenommen, Sie haben ein Formular mit den Schaltflächen Speichern und Abbrechen, wobei Speichern ein Theme und einen Click-Listener hat:
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);
}
}
Wenn Sie Speichern auswählen und Aus dem Quellcode entfernen wählen, bleibt Folgendes übrig. Die Deklaration, das Theme, der Listener und der Platz der Schaltfläche im Aufruf von add() werden entfernt. Auch der Import von ButtonTheme entfällt, da er sonst nirgends verwendet wird. Nach dem erneuten Erstellen der App ist Abbrechen weiterhin vorhanden:
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);
}
}
Beim Entfernen wird nur die Komponente selbst und nichts darüber hinaus berücksichtigt:
- Wenn Sie einen Container entfernen, werden auch die darin enthaltenen Komponenten entfernt.
- Code, der nur zum Erstellen, Konfigurieren und Hinzufügen der Komponente vorhanden war, wird bereinigt. Dazu gehören Felder und Importe, die sonst nirgends verwendet werden.
- Code, der an anderer Stelle weiterhin benötigt wird, bleibt erhalten. Wenn ein anderer Teil der Klasse die Komponente noch verwendet, etwa der Listener einer anderen Komponente, trennt craftforJ sie lediglich ab und lässt den Code, der sie erstellt und konfiguriert, bestehen.
- Wenn Sie eine Instanz einer wiederverwendbaren Komponente entfernen, zum Beispiel eines von Ihnen geschriebenen
Composite, wird nur diese eine Verwendung entfernt. Die Klasse, in der sie definiert ist, wird weder gelöscht noch geändert.
craftforJ schreibt die Datei nur, wenn das Ergebnis weiterhin kompiliert. Dateien werden niemals gelöscht.
Wenn das Entfernen nicht verfügbar ist
Aus dem Quellcode entfernen wird nur angeboten, wenn das Schreiben von Java-Code sowohl in der Konfiguration der App als auch in der Einstellung Java-Quellcodeänderungen in craftforJ zulässig ist. Diese Option wird nicht für Komponenten angeboten, die in Kotlin erstellt wurden, oder für Komponenten, die craftforJ keiner Quellcodezeile zuordnen kann.
Manche Komponenten können gar nicht aus dem Quellcode entfernt werden:
- Routen, die der Router anhand ihrer
@Route-Annotation platziert - Der Frame
- Komponenten, die eine andere Komponente als Teil ihrer selbst erstellt. Entfernen Sie stattdessen die äußere Komponente.
craftforJ kann eine Entfernung auch ablehnen, wenn der Quellcode der Komponente nicht gefunden wird oder sich nicht eindeutig feststellen lässt, welcher Code entfernt werden soll. Wenn beispielsweise eine Zeile mehrere Komponenten desselben Typs erstellt, lässt sich allein anhand dieser Zeile nicht erkennen, welche davon Sie ausgewählt haben.
Bei einer abgelehnten Entfernung bleiben Ihre Dateien unverändert und der Grund wird angezeigt:
Could not remove FlexLayout from source: FlexLayout is a part ContactCard builds for itself, remove that instead
Eine Entfernung rückgängig machen
Um eine aus dem Quellcode entfernte Komponente wiederherzustellen, drücken Sie in craftforJ Cmd/Ctrl + Z. Dadurch wird die Datei auf den Stand vor dem Entfernen zurückgesetzt. Wenn Sie die Datei seitdem in Ihrem eigenen Editor bearbeitet haben, wird das Rückgängigmachen blockiert, anstatt Ihre Änderungen zu überschreiben. Unter Rückgängig machen und wiederholen erfahren Sie, wie das Rückgängigmachen funktioniert und was bei einer Blockierung zu tun ist.


