Ich bin etwas neu in der Swing-Programmierung, und ich finde, dass so viel wie ich liebe die Macht der GridBagLayout, wenn Sie eine Menge von Komponenten haben, gibt es viele Zeilen Code nur die Einrichtung der Einschränkungen für das Layout. Was sind einige gute Möglichkeiten, dies unter Kontrolle zu halten, neben der Verwendung eines visuellen Editors?
Antworten
Zu viele Anzeigen?Denken Sie daran, dass Sie beim Hinzufügen von GridBagConstraints
zu einer GridBagLayout
werden die Daten kopiert (eigentlich geklont). Daher müssen Sie nicht für jede hinzugefügte Komponente wieder bei Null anfangen.
Vielleicht finden Sie die Redewendung mit der doppelten Klammer nützlich.
Ich empfehle die Verwendung eines besseren Builders als GridBagConstraints
öffentliche Felder. Meine ursprüngliche Antwort enthielt einen Link zu einem inzwischen nicht mehr existierenden Blogeintrag zu diesem Thema, der ein Beispiel enthält. IIRC, eine Klasse, die GridBagConstraints
mit der Methode, die dies zurückgibt. Ich habe die ganzen Extras vergessen, aber es gab Methoden, die mehrere Felder setzen (z.B., gridx
y gridy
), Inkremente und weitere exotische Dinge.
Ich fühle Ihren Schmerz. Ich fühle es so sehr, dass ich vor kurzem aufgegeben haben GridBagLayout vollständig, zugunsten eines anderen Tools - JGoodies-Formulare . Sein Layout-Code ist prägnanter, wird auf einer höheren Ebene gelesen und ist im Allgemeinen viel angenehmer zu verwenden als GridBagLayout.
Sie definiert eine Mini-Sprache zur Definition von Layouts. Auf den ersten Blick ist sie kryptisch, aber lassen Sie sich davon nicht entmutigen.
Wenn Sie die Möglichkeit haben, sie in Ihrer Umgebung zu nutzen, würde ich sie sehr empfehlen.
Ja, GridBagLayout ist wirklich schmerzhaft. Aber es ist trotzdem mächtig. In vielen Fällen kann man ihm nicht entkommen. Schauen wir uns dieses kleine Dienstprogramm an, um zu sehen, ob es Ihre Schmerzen lindert farblos-gridbag