Hallo erstmal,
ich bin - was Swing angeht - leider blutiger Anfänger und hab entsprechend Probleme. Hatte zeitweise überlegt es mit GUI Buildern zu lösen, aber ansich will ich erstmal kapieren wie die meisten Dinge so halbwegs laufen bevor ichs mir dann "abnehmen" lasse. Naja folgendes Problem:
Ich hab ein Programm mit div Frames, einer dieser Frames soll ne Art "Eingabeformular" sein und sieht in etwa so aus:
Drumherum ist noch anderer Kram, der ist jetzt aber nicht sonderlich wichtig. Das Problem ist, dass diese Labels unterschiedlich lang sind je nach Eintrag, dh wenn ich einmal auf "ok" drücke dann ändern sich die Labels und ich kann nen neuen Wert eingeben. Jetzt hab ich 1x zb ein Label mit 5 Buchstaben, danach eines mit 10, und dann eines wieder mit 7.. jetzt rutscht die ganze Zeit nach dem Klick aufs Ok das Eingabefeld immer nach rechts oder links.. je nach Länge des Labels (weil sich eben Spalte 2 verschiebt, dank größerer 1er). Wenn ich aber zb festlegen könnte, dass Spalte 1 einfach nur 30 Zeichen lang ist und dann soll er abschneiden oder sonst was, dann könnt ich ja verhindern dass der Rest immer mit hin und herwandert, oder?
Des weiteren hab ich das Problem, dass ihm meine Fenstergröße (setSize()) völlig egal ist, wenn ich zb sage er soll es 800x600 machen, dann macht er alles irgendwie in der Mitte und drumherum viel Rand.
Ich hatte schon überlegt völlig aufs GridBagLayout zu verzichten und einfach gar keines zu verwenden (weil ich dann die Komponenten ja scheinbar absolut platzieren kann), aber.. kA kanns ja auch nicht sein oder? Was ich so mitbekommen hab sollte man mit dem GB-Layout ja alles lösen können.
Naja alles in allem eine recht umfassende Frage (bzw Fragen), aber leider gibts keine vernünftigen Swing Tuts.. immer nur Simpelbeispiele für GB Layout zb.. aber wenns schon bisschen spezifischer wird gibts nichts mehr =/
Ich hoff mal es ist halbwegs klar was mein Problem ist, sonst könnt ich evtl noch bisschen Code bringen, aber ist ja eher ne grundlegende Frage und kein Codeproblem, daher hab ichs mir mal gespart
ich bin - was Swing angeht - leider blutiger Anfänger und hab entsprechend Probleme. Hatte zeitweise überlegt es mit GUI Buildern zu lösen, aber ansich will ich erstmal kapieren wie die meisten Dinge so halbwegs laufen bevor ichs mir dann "abnehmen" lasse. Naja folgendes Problem:
Ich hab ein Programm mit div Frames, einer dieser Frames soll ne Art "Eingabeformular" sein und sieht in etwa so aus:
Code:
Spalte 1 | Spalte 2 | Spalte 3
Label | Eingabefeld | Label
ok-Button
Drumherum ist noch anderer Kram, der ist jetzt aber nicht sonderlich wichtig. Das Problem ist, dass diese Labels unterschiedlich lang sind je nach Eintrag, dh wenn ich einmal auf "ok" drücke dann ändern sich die Labels und ich kann nen neuen Wert eingeben. Jetzt hab ich 1x zb ein Label mit 5 Buchstaben, danach eines mit 10, und dann eines wieder mit 7.. jetzt rutscht die ganze Zeit nach dem Klick aufs Ok das Eingabefeld immer nach rechts oder links.. je nach Länge des Labels (weil sich eben Spalte 2 verschiebt, dank größerer 1er). Wenn ich aber zb festlegen könnte, dass Spalte 1 einfach nur 30 Zeichen lang ist und dann soll er abschneiden oder sonst was, dann könnt ich ja verhindern dass der Rest immer mit hin und herwandert, oder?
Des weiteren hab ich das Problem, dass ihm meine Fenstergröße (setSize()) völlig egal ist, wenn ich zb sage er soll es 800x600 machen, dann macht er alles irgendwie in der Mitte und drumherum viel Rand.
Ich hatte schon überlegt völlig aufs GridBagLayout zu verzichten und einfach gar keines zu verwenden (weil ich dann die Komponenten ja scheinbar absolut platzieren kann), aber.. kA kanns ja auch nicht sein oder? Was ich so mitbekommen hab sollte man mit dem GB-Layout ja alles lösen können.
Naja alles in allem eine recht umfassende Frage (bzw Fragen), aber leider gibts keine vernünftigen Swing Tuts.. immer nur Simpelbeispiele für GB Layout zb.. aber wenns schon bisschen spezifischer wird gibts nichts mehr =/
Ich hoff mal es ist halbwegs klar was mein Problem ist, sonst könnt ich evtl noch bisschen Code bringen, aber ist ja eher ne grundlegende Frage und kein Codeproblem, daher hab ichs mir mal gespart