3 Stimmen

Welche Möglichkeiten gibt es, um GridBagConstraints unter Kontrolle zu halten?

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?

3voto

Tom Hawtin - tackline Punkte 142461

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.

2voto

John Punkte 1615

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.

1voto

Tri.Bao Punkte 11

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X