Widgets seltsam verhält, wenn Sie mit "setlayout(null)"
Mache ich folgenden Aufruf in meinem code:
...
setLayout(null);
...
Ich versuche, platziere einen button und ein textfield-Objekt durch Angabe Ihrer x-und y-Koordinaten.
Ist das problem, wenn ich das Programm starte (entweder mit Eclipse oder BlueJ), dass ich laufen müssen, auf dem Bedienfeld, bis Sie die position der Schaltfläche und das Textfeld, um zu sehen, beziehungsweise die Schaltfläche und das Textfeld.
Wenn ich das textfield, es ist klein. Nur wenn ich mit dem schreiben beginnen es wird davon ausgegangen das die Größe I angegeben.
Weiß jemand wie es zu lösen?
- Zeig uns etwas code.
- die Regel ist NICHT haben Sie die Benutzeroberfläche, ohne einen LayoutManager. Das brechen dieser Regel wird unweigerlich zu Schmerz ...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vermeiden setLayout (null), es sei denn, Sie haben einen sehr guten Grund dafür. Sie können erfahren Sie mehr über layout-Manager hier: http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html
Wenn Sie immer noch wollen, verwenden Sie ein null-layout verwenden, müssen Sie die Breite und Höhe der Komponente, nicht nur Ihre x-und y-position (siehe die setSize-Methode).
Aus dem genannten link:
Ich würde empfehlen, mit der
setBounds
- Methode anstelle dersetLocation
Natürlich, wenn Sie einen null-Layout-manager, müssen Sie auch die Pflege Ihrer
preferredSize
. Hier ist ein Beispiel, die enthält alle wichtigen Aspekte: