Java - Grafické komponenty (46.díl)

Napsal O webu (») 22. 7. 2008 v kategorii Programování, přečteno: 3389×
obrazky/java_logo.png

GridLayout

GridLayout představuje layout manager, který jednotlivé komponenty zarovnává do mřížky tvořené stejně velkými poli. Komponenta se pomyslně rozdělí na stejně velké částí tvořené rovnoběžkami z hranami formuláře, do každého dílu je umístěna jedna komponenta. Pokud jsou všechna políčka v řádku zaplněna,
přechází se na další řádek. Velikost jednoho políčka je nastavena na základě největší komponenty. Uveďme opět některé důležité konstruktory.
GridLayout();
GridLayout(radky, sloupce);
GridLayout(radky, sloupce, vod_mezera, svisla_mezera);

První konstruktor umožní vložit pouze jednu komponentu roztaženou přes celé okno. Pokud použijeme druhý konstruktor, budou se jednotlivé komponenty dotýkat, tj. mezery mezi nimi budou stejné. Použijeme stejný kód jako v předchozím případě, pouze změníme layout manager. V prvním případě použijeme konstruktory GridLayout(3,2), ve druhém případě GridLayout(3,2,10,10).

BorderLayout

Border Layout představuje layout manager, který jednotlivé komponenty umisťuje podle světových stran na základě hodnot konstant
BorderLayout.NORTH,
BorderLayout.SOUTH,
BorderLayout.EAST,
BorderLayout.WEST,
BorderLayout.CENTER.

Komponenty nejsou, na rozdíl od předcházejících správců, řazeny podle podle pořadí. Velikosti jednotlivých komponent jsou různé: severní a jižní komponenta jsou roztaženy na maximální šířku, severní a jižní komponenty na maximální výšku, velikost středové komponenty se nemění. Použití nalezne např. při navrhování ovládacích tlačítek pro pohyb kurzoru. K dispozici jsou dva konstruktory:
BorderLayout();
BorderLayout(vod_mezera, svisla_mezera);

Při použití prvního konstruktoru nejsou mezi jednotlivými komponentami mezery, u druhého konstruktoru lze nastavit vodorovné a svislé rozestupy mezi komponentami. Zdrojový kód lze zapsat např. takto
public Okno() {
this.setSize(320,240);
this.setTitle("Okno");
this.setLayout(new GridLayout());
this.setLayout(new BorderLayout(10,10));
JButton but1=new JButton("Ahoj");
this.getContentPane().add(but1, BorderLayout.NORTH);
JButton but2=new JButton("Druhe");
this.getContentPane().add(but2, BorderLayout.SOUTH);
JButton but3=new JButton("Treti");
this.getContentPane().add(but3, BorderLayout.EAST);
JButton but4=new JButton("Ctvrte");
this.getContentPane().add(but4, BorderLayout.WEST);
JButton but5=new JButton("Pate");
this.getContentPane().add(but5, BorderLayout.CENTER);
this.setVisible(true);
}


Poznámka: CardLayout manager nebudeme z důvodu omezené použitelnosti uvádět, GridBackLayout manager je poměrně složitý. Zájemce se s nimi může seznámit v dostupné literatuře. Pro vývoj složitějších GUI aplikací budeme používat nástroje RAD, nemusíme tak ztrácet čas a energii při návrhu grafckého
vzhledu, ušetřený čas a prostředky mohou být věnovány na zdokonalování aplikace.
Autor: Filip Koval
Štítky: Java
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
bla z IP 188.167.47.*** | 9.4.2012 00:03
"Pro vývoj složitějších GUI aplikací budeme používat nástroje RAD, nemusíme tak ztrácet čas a energii při návrhu grafckého
vzhledu, ušetřený čas a prostředky mohou být věnovány na zdokonalování aplikace." No jo kiezby mal taky nazor aj nas ucitel smile


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel devět a dvanáct