Avatar billede larzy Nybegynder
17. oktober 2002 - 20:54 Der er 1 kommentar og
1 løsning

Borderlayout og gridlayout

jeg sidder og skal lægge en container (med gridlayout) ind i north på en container med borderlayout.

jeg kan tilsyneladende ikke sætte størrelsen på containeren (med gridlayout). Den vises ens ligemeget hvad jeg skriver i setSize. Hvordan kan jeg sætte størrelsen?

her er min container med gridlayout:

import java.awt.*;

public class Menu extends Container{
  private WebBrowser webBrowser;
  private String buttonNames[] = { "<",">","URL","seek","favorites","home" };
  private Button button[];

  public Menu(WebBrowser webBrowser) {
    this.webBrowser = webBrowser;
    setLayout(new GridLayout(1,buttonNames.length,0,0));
    setSize(100,50); //you may want a getwidth on the frame here

    button = new Button[ buttonNames.length ];
    for(int i=0; i<buttonNames.length; i++){
      button[i] = new Button( buttonNames[i] );
      add( button[i] );
    }
  }
}
Avatar billede pchris Nybegynder
18. oktober 2002 - 13:02 #1
Det nytter ikke med setSize.
Det er jo hele idéen med en layout manager.
Den sørger for at den får en passende størrelse.

Hvis du vil have det til at virke skal du nok overskrive Menu klasses getMinimumSize, getPreferredSize og getMaximumSize. Du skal nok skrive dem så de kalde super.getXXXSize og så justerer resultatet alt efter hvad det konkret er du vil.
Avatar billede larzy Nybegynder
18. oktober 2002 - 23:13 #2
thanks - det gør det lidt mindre hokus pokus agtigt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester