Wie kann man Schaltflächen unter AWT anorden?

  • Themenstarter Themenstarter Davicito
  • Beginndatum Beginndatum
D

Davicito

Hallo leute, wallte mal wieder ein rat von Euch.

ich probiere schon seit längeren in einem Fenster Knöpfe anzuorden.
hab schon mit vielen Layouts rum gespielt.

hat jeman eine idde wie ich die größe eines Knopfs bestimme und an welcher stelle man den Knopf , wie positionieren kann?

freu mich auf hilfe, Davicito.
 
Moin,

für die Größe gibt es div. "Size"-Befehle (setSize(), setMinimumSize() etc.) - vgl. API !

Das Positionieren ist abhängig vom verwendeten Layout-Manager ... ohne detaillierte Angabe von Dir, kann man da nur schwer was zu sagen!

Gruß
Klaus
 
Grüß Dich,

Sagen wir mal ich habe ein ein Button Namens "OK" und möchte den mit dem BorderLayout unten im fenster darstellen.
Nur leider passt mir der Boarder-Layout den Knopf auf die länge des Fensters an.
Dass soll er nicht tun er soll nur so lang sein, wie das word OK reinpasst.

Hast du eine idee? -> Hier mein Java-Code:
Java:
...
public testGUI()
{  
   setTitle("Lineare Regression");
   setSize(1000,800);
   setLocationByPlatform(true);

   Button Schl = new Button("Schließen");
 
   pan.add(Schl);
   add(pan);
   add(Schl, BorderLayout.SOUTH);  // positioniert Schaltfläche unten im Fenster, auf die  Fensterlänge an!!
   setVisible(true);   	
 }
 
Eine sehr bekloppte Art wäre:

Du erzeugst ein Panel-Objekt, packst da deinen Button rein und setzt dieses Panel dann in den South-Bereich deines Frames. Da Panels stadardmäßig das FlowLayout verwenden, wird die Größe der Komponenten auch so gesetzt, wie sie benötigt wird.

Allerdings rate ich von sowas ab, man bastelt sich damit nur unnötige und unüberschaubare Strukturen zusammen (mal abgesehn von den ganzen unnötigen Instanzierungen). Eine gute Alternative wäre das GridBagLayout, welches sehr dynamisch ist. Allerdings meinen viele Seiten, dass die Einarbeitungszeit sehr hoch ist, weshalb sie davon abraten (kann ich nicht verstehen, eigentlich ist es sehr simpel). Einziges Manko meinerseits am GBL ist die Tatsache, dass man bei kleinen Sachen (z.B. 3 Buttons) dann mit Kanonen auf Spatzen schießen würde, also man muss einfach abwägen, ob es sich lohnt, aber schwer ist der Umgang nicht.
 
Hi,
Eine sehr bekloppte Art wäre:

Du erzeugst ein Panel-Objekt, packst da deinen Button rein und setzt dieses Panel dann in den South-Bereich deines Frames. Da Panels stadardmäßig das FlowLayout verwenden, wird die Größe der Komponenten auch so gesetzt, wie sie benötigt wird.
So bekloppt finde ich dies gar nicht. Gegen Schachtelung von Layouts spricht prinzipiell erstmal nichts, schon gar nicht mal in diesem einfachen Fall. Ich würde es auf jeden Fall so machen. Man muss ja auch nicht alles mit einem GBL erschlagen wollen.

*grüssle*
 
Hi,

So bekloppt finde ich dies gar nicht. Gegen Schachtelung von Layouts spricht prinzipiell erstmal nichts, schon gar nicht mal in diesem einfachen Fall. Ich würde es auf jeden Fall so machen. Man muss ja auch nicht alles mit einem GBL erschlagen wollen.

*grüssle*

In diesem Fall würde ich es ja auch machen, hab ja gesagt, dass man das abwägen muss, sonst schießt man mit Kanonen auf Spatzen. Nur wer weiß, was er da noch alles machen will. Sobald es zu sehr verschachtelt wird, würde ich mir ne Alternative überlegen, mehr hab ich nicht gesagt ^^
 
Zurück