Ränder bei einem Panel



  • Hi,

    ich habe ein Panel, in das ich ein TextField setzen will. Um das TextField herum will ich einen Rand definieren (z.B. oben 5 Pixel, an den Seiten 10 Pixel). Einen Beispielscreenshots findet ihr hier:
    http://www.infoboard.org/stuff/example.JPG
    (Die roten Striche sind die Ränder)

    Mein 1. Ansatz war ein Panel mit einem FlowLayout():

    Panel southpanel = new Panel(new FlowLayout(FlowLayout.CENTER, 0, 5));
    inputfield = new TextField();
    southpanel.add(inputfield);
    

    Damit konnte ich zwar perfekt Ränder definieren, jedoch hatte ich immer ein winziges Inputfield in der Mitte. Ein Aufruf wie inputfield.setsize() hat keinerlei Auswirkungen gehabt. (Warum auch immer?!)

    Bei meinem 2. Ansatz war das TextField war über die ganze Breite gestreckt, jedoch konnte ich keine Ränder setzen. Die Werte 2 und 10 im Konstruktor vom GridLayout haben keine Auswirkungen.

    Panel southpanel = new Panel(new GridLayout(1,1,2,10));
    inputfield = new TextField();
    southpanel.add(inputfield);
    

    Hat da jemand ne Lösung?



  • Habs selber lösen können.
    Dennoch Danke für die zahlreichen Beiträge 😉



  • Dank auch an dich für das Teilen deines Wissens. 😉 👍



  • Um es auf den Kern der Lösung zu reduzieren:

    Ich habe statt:

    GridBagLayout gbl = new GridBagLayout();
    GridBagConstraings gbc = new GridBagConstrains();
    gbc.widthx = 1;
    // usw.
    gbl.setConstraints(inputfield, gbc);
    

    das hier gemacht:

    southpanel.add(inputfield, gbc);
    

    🙂


Log in to reply