Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 4. diel - Layouty v Jave (druhýkrát)

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Milan Gallas
Tvůrce
Avatar
Milan Gallas:24.7.2013 19:58

jo a obrázky pochází ze stránky: http://docs.oracle.com/…/visual.html

Avatar
BLADE
Člen
Avatar
BLADE:22.8.2013 18:47

Ten GridBagLayout je super, no nedá sa tam nejako nadstaviť aby sa mi to vždy nedávalo do stredu okna ?

Avatar
Milan Gallas
Tvůrce
Avatar
Odpovedá na BLADE
Milan Gallas:22.8.2013 21:00

stačí když použiješ příkazy:
g.weightx = 0.5;
g.weighty = 0.5;
a popřípadě pokud budeš chtít tak si přepiš
tohle

g.fill = GridBagConstraints.HORIZONTAL;

na tohle

g.fill = GridBagConstraints.BOTH;

efekt uvidíš sám.

Editované
Avatar
BLADE
Člen
Avatar
Odpovedá na Milan Gallas
BLADE:23.8.2013 17:43

No tak som to skúsil s tým wightx a y + som tam pridal anchor na NORTHWEST. A išlo mi to pekne doľava a hore no potom som chcel dať pod to 2 tlačítka a to už je problém pretože mi ich dá zas do stredu a ešte kvôli tomu weight dosť ďaleko od seba :(

z = new JLabel("Vyberte si 1. jazyk: ");
        gbc.anchor = GridBagConstraints.NORTHWEST;

        gbc.weightx = 0.5;
        gbc.weighty = 0.5;
        gbc.gridx = 0;
        gbc.gridy = 0;
        hlava.add(z, gbc);

        EN = new JButton("EN");
        gbc.gridx = 0;
        gbc.gridy = 1;
        hlava.add(EN, gbc);

        SK = new JButton("SK");
        gbc.gridx = 1;
        gbc.gridy = 1;
        hlava.add(SK, gbc);

hlava je container

Asi som to celé zle pochopil, no už som s toho jeleň.
Výsledok vyzerá takto :

Avatar
Kit
Tvůrce
Avatar
Odpovedá na BLADE
Kit:23.8.2013 17:48

Proč tam dáváš na začátku skoro každého řádku "gbc."? Mně to funguje i bez toho.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
BLADE
Člen
Avatar
Odpovedá na Kit
BLADE:23.8.2013 19:27

ale gbc je ten GridBagConstraints bez toho mi to predsa nerozmiestni tak ako si žiadam.

Avatar
Kit
Tvůrce
Avatar
Odpovedá na BLADE
Kit:23.8.2013 20:25

Dal jsem ty příkazy dovnitř GridBagConstraints (kam patří) a funguje to.

Vypadá to potom takto:

JLabel z = new JLabel("Vyberte si 1. jazyk: ");
JButton EN = new JButton("EN");
JButton SK = new JButton("SK");

// konstruktor
{
anchor = NORTHWEST;

weightx = 0.5;
weighty = 0.5;
gridx = 0;
gridy = 0;
hlava.add(z, this);

gridx = 0;
gridy = 1;
hlava.add(EN, this);

gridx = 1;
gridy = 1;
hlava.add(SK, this);

Hlavně přitom nesahám na atributy jiného objektu.

Možná by se to dalo udělat ještě lépe.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Milan Gallas
Tvůrce
Avatar
Milan Gallas:23.8.2013 20:55

Jednoduše sem vykódil tohle:

Container hlava = this.getContentPane();
    hlava.setLayout(new GridBagLayout());

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.anchor = GridBagConstraints.FIRST_LINE_START;

   z = new JLabel("Vyberte si 1. jazyk: ");
     gbc.insets = new Insets(5,5,5,5);
     gbc.fill = GridBagConstraints.HORIZONTAL;
     gbc.gridwidth = 2;
     gbc.gridx = 0;
     gbc.gridy = 0;
     hlava.add(z, gbc);

     EN = new JButton("EN");
     gbc.fill = GridBagConstraints.NONE;
     gbc.gridwidth = 1;
     gbc.gridx = 0;
     gbc.gridy = 1;
     hlava.add(EN, gbc);

     SK = new JButton("SK");
     gbc.gridx = 1;
     gbc.gridy = 1;
     gbc.weightx = 0.5;
     gbc.weighty = 0.5;
     hlava.add(SK, gbc);

Je to to co si potřeboval?

Editované
Avatar
Milan Gallas
Tvůrce
Avatar
Odpovedá na BLADE
Milan Gallas:23.8.2013 20:56

zarovná ti to doleva a nahoru ať to roztáhneš jakkoliv.

Avatar
Kit
Tvůrce
Avatar
Odpovedá na BLADE
Kit:23.8.2013 21:07

Tady to mám kompletní, kdybys měl zájem. Je to funkční.

http://www.itnetwork.cz/dev-lighter/183

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 27.