Positionieren von Komponenten in Swing-GUIs
Ich habe einige Fragen zur Positionierung von Komponenten und einige Fragen zu Textfeldern und Textbereichen (Java Swing). Jede Hilfe wird sehr geschätzt.
Im Moment versuche ich, zwei Textfelder nebeneinander zu haben, über denen jeweils eine andere Bezeichnung steht, die beschreibt, was dieses Textfeld bewirkt. Um dies zu erreichen, habe ich sie in eineGridLayout(2, 2)
.
Ist das der beste Weg? Nur so kann ich ein Etikett direkt über einer anderen Komponente anzeigen. Gibt es einen besseren Weg? Was ist, wenn sich nur ein Etikett über einer Schaltfläche befindet? Ist es sinnvoll, dies durch a zu positionieren?GridLayout(2, 1)
? Ich bin sehbehindert, daher halte ich es nicht für eine Option, Schaltflächen nur nach ihrer Pixelposition zu positionieren, es sei denn, es gibt eine einfache Möglichkeit, Komponenten mit einer relativen Pixelanzahl zu einer anderen Komponente zu platzieren.
Das führt mich zu meiner nächsten Frage. Was ist der beste Weg, um die gleiche Benutzeroberfläche wie oben zu haben, aber mit einer anderen Komponente (Schaltfläche) in der Mitte. Grundsätzlich sollte die Benutzeroberfläche aus zwei benannten Textfeldern bestehen, unter denen sich eine Schaltfläche zum Berechnen befindet. Dazu habe ich die obigen Komponenten in ein Bedienfeld eingefügt und das plus die Schaltfläche zum Berechnen einem umgebenden Bedienfeld mit einem hinzugefügtGridLayout(2, 1)
. Das Problem ist, dass der Knopf so groß wird wie das Panel darüber (nehme ich an). Wie kann ich dies anpassen und trotzdem die Schaltfläche perfekt unter dem Bereich der Textfelder / Beschriftungen ausrichten? Ähnliches gilt für Beschriftungen über Textbereichen. Die Beschriftung sollte klein sein, aber einen größeren Platz für den Textbereich darunter haben.
(Textfeld): Unter erneuter Bezugnahme auf die Benutzeroberfläche oben, werden die Buchstaben über das Textfeld rechts gehen, wenn der Benutzer viele Zeichen in das erste Textfeld eingibt? Wenn ja, wie kann ich das verhindern?
Wenn ich Text an einen Textbereich anhänge und dieser bereits voll ist, kann der Benutzer dann automatisch scrollen? Wenn nicht, wie lässt sich der Textbereich auf einfache Weise scrollbar machen?
Im Moment stelle ich keine Größe des Textbereichs ein. Wächst es nur, wenn ich Text hinzufüge? Hat es eine Standardgröße wie in Anzahl der Zeichen?