Zum Inhalt springen

formular in swing


Empfohlene Beiträge

Geschrieben

hallo wissende,

such mich jetzt schon seit stunden durch foren und google durch, aber find keine Lösung.

Mein Problem besteht darin, dass ich ein ganz einfaches eingabeformular in swing erstellen möchte.

Jedoch hat das Fenster, in dem dieses Formular erzeugt werden soll, eine fixe Größe.

Und ich weiß nicht welches Layout ich da am besten nutzen soll, bzw. gibt es dafür überhaupt ein geeignetes?

GridLayout zieht mir alle Felder viel zu groß (eben auf panel ebene) und flowlayout kann ich nicht sagen, dass es nach 2 spalten umbrechen soll; oder doch?

Ich hoffe ich konnte mein Problem richtig erklären.

Danke im voraus

mfg jghj

Geschrieben

Versuchs mal mit Null-Layout!

yourFrame.getContentPane().setLayout(null);

die Positionen deiner Componenten legst du dann über yourComponent.setBounds(startx,starty,breite,höhe); fest die Angaben erfolgen als Integer und in Pixelwerten.

Geschrieben

Servus,

den Tipp mit dem Null-Layout würde ich nicht unterschreiben. Ein Layout macht in 99% aller Fälle Sinn, denn es nimmt dem Entwickler Arbeit ab bei einer Neuausrichtung nach Grössenänderung etc.

Du kannst Dir das GridBagLayout anschauen, das kann, was Du willst, oder aber - zieht aber eine extra Library als jar nach sich - FormLayout (www.jgoodies.de). Das ist ein tolles Layout, mit dem sich (fast) alles machen lässt. Und das viel einfacher als alle mir bekannten Swing-Layouts.

Ruhig durch die Beispiele klicken, die sind toll.

Peter

Geschrieben
den Tipp mit dem Null-Layout würde ich nicht unterschreiben. Ein Layout macht in 99% aller Fälle Sinn
Naja streng genommen ist ein null Layout ja auch ein Layout - die Constraints werden halt direkt aus den Werten der einzelnen Komponenten ausgelesen und die Layout-Logik besagt dann "an den gegebenen Koordinaten mit der gegebenen Höhe/Breite platzieren".

Du kannst Dir das GridBagLayout anschauen, das kann, was Du willst
Allerdings mit dem großen Nachteil, dass - sobald die Aufgabe ein wenig komplexer wird - der Code schlecht lesbar bis unlesbar wird. GridBagLayout ist das schlimmste, was es im Bereich Java und Layout zu sehen gibt, von daher: So weit wir möglich davon fernhalten ;)

FormLayout [...] ist ein tolles Layout, mit dem sich (fast) alles machen lässt. Und das viel einfacher als alle mir bekannten Swing-Layouts.
*unterschreib* ich benutze auch so gut wie gar nichts anderes. BorderLayout wenn es wirklich nur eine Komponente zu platzieren gilt, FlowLayout wenn mal eben schnell ein paar Buttons der Reihe nach anzuordnen sind, für alles andere FormLayout. Ich weiss inzwischen schon gar nicht mehr, wie ich arbeite würde, hätte ich diesen LayoutManager nicht zur Verfügung.
Geschrieben

Servus,

naja, das null ein Layout ist, würde ich nicht sagen. Allerdings ist das wahrscheinlich Ansichtssache und hierfür auch relativ egal. Die Bounds als Constraints anzusehen kann ich schon eher nachvollziehen, aber dann sollte es wirklich die Klasse NullLayout geben, die diese als wirkliche Constrains hat. Sonst würde ich es in meiner Terminologie nicht so bezeichnen.

Aber zum Thema. GridBagLayout ist wirklich nicht sehr elegant - hat aber den Vorteil, das Mächtigste in der Standard API zu sein - und manche sträuben sich gegen zuviel fremde Libs in der Anwendung. Und wenn man sich ein paar Helperklassen schreibt, ist der Code auch sauber.

Für den Anfänger ist es in meinen Augen aber schöner, weil besser verständlich, wenn es mit JGoodies anfängt.

Zu dem Thema kann ich auch nur die Artikel von Karsten Lentzsch empfehlen, die sind sehr gut. http://jgoodies.com/articles/

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...