auttakaas swingin kanssa

Auttakaas vielä ton GridBagLayoutin kanssa. Pitäis saada aikaseks tän näkönen käyttöliittymä:

--Tiedot------------
|
| Nimi _________
|
| Ikä ___
|
--------------------

Eli tuo nimi ja ikä JTextField kentät pitäisi olla eri pituiset. Ja koko höskän ympärillä otsikollinen kehys setBorder . Juuri tuon kehyksen saaminen on se ongelma !
4279
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

..mä sen jo tuossa aiemmin sulle selvittänyt? Niin ja miksi v..tussa sun pitää käyttää siinä GridBagLayouttia? Ainakin mun mielestä sen voi hoitaa vallan hyvin FlowLayoutilla, kun tekstikentän koon asettaa setPreferredSize()-metodilla haluamansa suuruiseksi. Toinen käyttökelpoinen tapa on käyttää null-layoutia, jolloin komponentti voidaan sijoittaa pikselin tarkkuudella paikoilleen.

Mikäli sä olet ihan aidosti kiinnostunut ohjelmoinnista niin suosittelen sulle:

a)kunnollisen sovelluskehittimen hankintaa, joka näyttää kaikki luokan metodit ja avustaa muutenkin koodin vääntämisessä. Paras näistä on JCreator.

b)Java Tutoriaalin lukemista kannesta kanteen ja harjoitustehtävien tekemistä.

Niin, mikä helvatin kiire sulla on vääntää sitä "killeriasoftaa", kun taidot eivät alkuunkaan riitä? Hieman malttia ja luet ensin rauhassa mitä luokkia ja metodeja API tarjoaa niin vältyt tekemästä sellaista minkä Java tarjoaa valmiiksi tehtynä ja testatuna.

-Jonttu-

Äänestä
  • Joo selvitit edellä hyvin tuon Layoutin filosofian, kiitos siitä. Se mulla onkin periaatteessa aika hyvin jo hanskassa. Nyt itseasiassa kovan vääntämisen ja apin lukemisen jälkeen sain tuon toimimaan gridBagLayoutilla :).

    Oon kyllä opetellu käyttämään noita muitakin Layouteja (Box, Flow, Border jne.) mutta toi gridBagLayout on ainoo millä oon saanut tekstikentät eri pituisiksi. Esim. setPreferredSize() ja setColumns eivät saaneet mitään muutosta koon leveyteen, kummaa.

    gridBagLayout tuntuu vaan vähän vaikeemmalta kun noi muut, esim. tyhjien tilojen saaminen ja just toi kehys. Mutta nähtävästi taistelemalla neki onnistu, oisin vaan kaivannu apuja, kun taisteleminen vie kuitenkin niin paljon aikaa, toisaalta siinä oppii.

    Null-layoutia en viitti käyttää, koska haluis nimenomaan oppia tuon sijoittelun ilman pikselimäärityksiä!

    Joo sovelluskehittimen voiskin hankkia, toisaalta eikö raakakoodin vääntämisessä opi kuitenkin parhaiten?

    Ja sentakia väännän tällästä softaa kun opiskelen alaa :). Jostain syystä olioajattelu, liiketoimintaluokat, tietokanta, tiedostot, periytyminen yms. ei oo tuottanu vaikeuksia, mut just noi Layoutilla leikkimiset on tuntunu vaikeilta, siis saada nappulat ja muut hilavitkuttimet just haluamilleen paikoilleen ilman tota null-layoutia. Tai sit en oo vaan jaksanu kikkailla niiden kans tarpeeks. :).

    Äänestä

  • fdffgfdg kirjoitti:

    Joo selvitit edellä hyvin tuon Layoutin filosofian, kiitos siitä. Se mulla onkin periaatteessa aika hyvin jo hanskassa. Nyt itseasiassa kovan vääntämisen ja apin lukemisen jälkeen sain tuon toimimaan gridBagLayoutilla :).

    Oon kyllä opetellu käyttämään noita muitakin Layouteja (Box, Flow, Border jne.) mutta toi gridBagLayout on ainoo millä oon saanut tekstikentät eri pituisiksi. Esim. setPreferredSize() ja setColumns eivät saaneet mitään muutosta koon leveyteen, kummaa.

    gridBagLayout tuntuu vaan vähän vaikeemmalta kun noi muut, esim. tyhjien tilojen saaminen ja just toi kehys. Mutta nähtävästi taistelemalla neki onnistu, oisin vaan kaivannu apuja, kun taisteleminen vie kuitenkin niin paljon aikaa, toisaalta siinä oppii.

    Null-layoutia en viitti käyttää, koska haluis nimenomaan oppia tuon sijoittelun ilman pikselimäärityksiä!

    Joo sovelluskehittimen voiskin hankkia, toisaalta eikö raakakoodin vääntämisessä opi kuitenkin parhaiten?

    Ja sentakia väännän tällästä softaa kun opiskelen alaa :). Jostain syystä olioajattelu, liiketoimintaluokat, tietokanta, tiedostot, periytyminen yms. ei oo tuottanu vaikeuksia, mut just noi Layoutilla leikkimiset on tuntunu vaikeilta, siis saada nappulat ja muut hilavitkuttimet just haluamilleen paikoilleen ilman tota null-layoutia. Tai sit en oo vaan jaksanu kikkailla niiden kans tarpeeks. :).

    ..mulla ei ollu mitään vaikeuksia saada tekstikenttää haluamani mittaiseksi käytettäessä FlowLayouttia ja setPreferredSize-metodia. Todennäköinen syy miksi GridBagLayouttiin ei setPreferredSize vaikuta on se, että kunkin nappulan koko määritetään ns. painoarvon mukaan ja joka käytännössä tarkoittaa setPreferredSize-arvon ignoroimista.

    JCreator ei ole tosiaankaan JBuilderin kaltainen kehitin vaan just sellainen Java-koodarin unelma. En olisi sulle edes paskaa kehitintä suositellut.

    Hauskat jatkot opiskelulle! :)

    Jonttu

    Äänestä

  • Mä oon käyttäny Eclipse-editoria ( http://www.eclipse.org ) ja havainnut sen todella hyväksi! Siinä on paljon hyödyllisiä toimintoja jotka säästää aikaa ja vaivaa. En lähe tällä haastamaan JCreatoria, koska en oo kyseistä editoria kuin vilkaissu ohimennen, vaan suosittelen vaan omasta kokemuksesta eclipsea. Myös javan windowsin sdk:n mukana tulee nykyään netBeans -niminen editori, joka on kohtuullisen näppärä myös.

    Äänestä

Kommentoi aloitusta


fdgdfgfd kirjoitti:

Auttakaas vielä ton GridBagLayoutin kanssa. Pitäis saada aikaseks tän näkönen käyttöliittymä:

--Tiedot------------
|
| Nimi _________
|
| Ikä ___
|
--------------------

Eli tuo nimi ja ikä JTextField kentät pitäisi olla eri pituiset. Ja koko höskän ympärillä otsikollinen kehys setBorder . Juuri tuon kehyksen saaminen on se ongelma !

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu