Swing-ohjelmointi on kankeaa touhua

Kun näprää javalla graafista käyttöliittymää (swingiä), niin pitää käpistellä erinäköisten asettelujen kanssa esim. taulukkoasettelu jne...
käyttöliittymäohjelmointi on aika kankeaa touhua javassa ja kuitenkin saa aikaiseksi käyttöliittymän joka pitää aina asentaa jokaiseen työasemaan.

Eikö olisi parempi vääntää joku web-lomake käyttöliittymäksi esim. Macromedian Dreamweaverilla. Voisi käyttää sivupohjia, ja tasoja ym.. mikä helpottaa huomattavasti käyttöliittymäsuunnittelua.

Tietenkään kaikki hienoudet eivät toimi kuten raahaa ja pudota-toiminto.

Onko swingien ohjelmointi jäämässä historiaan vai käytetäänkö sitä vielä kuinka paljon?
161552
Äänestä

Muut lukivat myös

Vastaukset 16

Vanhimmat

Ei se swingin käyttöliittymän tekeminen nyt niiin kankeaa oo esim. Netbeans IDE:llä.

Meillä tehdään kyllä kaikki työpöytäohjelmat yleensä Mikkosoftin ohjelmoiti -kielillä.

Nettipuolen hommat tehdään kuitenkin kaikki javalla. Näyttäisi, että tuo nettipuoli lisääntyy koko ajan ja java on juuri omiaan siihen.

Onhan siitä paljon hyötyä jos ohjelmaa ja sen tulevia päivityksiä ei tarvitse asentaa jokaiseen työasemaan erikseen. Samaa järjestelmää voi käyttää vaikka firman työntekijät Helsingistä Utsjoelle ja sen lisäksi firman asiakkaat. Tai sitten koko J2EE hässäkkä voi sijaita softafirman palvelimella.

Mutta on monia ohjelmia joiden lisenssejä ostetaan firmaan vaikka vain yksi kappale. Silloin esim. paljon kätevämpää, että se on työpöytäsofta. Tai jos on viiden hengen tilinpito firma niin helpommaksi tulee ostaa joka koneeseen lisenssi jostain työpöytä -ohjelmasta kuin viritellä J2EE hässäkkä jollekin palvelimelle.

Ja jos firmassa on linuxit niin mielellään se työpöytäsofta on tehty javalla. Useimmissa on kuitenkin se toinen käyttöjärjestelmä, siks meilläkin C :ssa ja VisualBasic ahkerassa käytössä.

Äänestä
  • Joo ei homma ole mikään ongelma jos ohjelmoi kaiken graafisella kehittimellä esim VB:llä tai esim. Borlandin C :lla.

    Silloin homma menee työläämmäksi ja kankeammaksi jos väännät suoraan koodaten javaa ja teet swingiä koodaamalla.

    Ainakin layoutit oli inhottavaa tavaraa koodata ilman graafista kehitintä kun teki vähän vaativampaa käyttöliittymää.

    Äänestä

Jos vaan pystyy käyttämään webbiformeja, niin eipä paljon kannata Swing-hässäköihin ryhtyä.

Mutta silloin kun hötömölö-sivuja ei voi käyttää, kokenut tekijä saa Swingillä aikaan toimivan sovelluksen liittymän _nopeasti_.

Äänestä
  • ja sovelluskehittimellä saa tehtyä vaikeampiakin käyttöliittymiä.

    Asentaa verkkopalvelimelle sen, niin työasemille ei tarvitse asentaa kuin pikakuvake.

    Äänestä

  • Piru kirjoitti:

    ja sovelluskehittimellä saa tehtyä vaikeampiakin käyttöliittymiä.

    Asentaa verkkopalvelimelle sen, niin työasemille ei tarvitse asentaa kuin pikakuvake.

    hyvää ja ilmaista sovelluskehitintä? Olen käyttänyt Borlandin Jbuilder 9 Personalia, mikä on ihan hieno, mutta kuin huomaamatta koodiin saattaa lipsahtaa Borlandin omia luokkia ellei ole tarkkana. Lisäksi iso osa ominaisuuksista on disabloitu tuossa kokeiluversiossa.

    Eli vinkkiä otettaisiin vastaan. Käyttöjärjestelmä on Fedora Core 1 (pian 2).

    Äänestä

  • Jahvetti kirjoitti:

    hyvää ja ilmaista sovelluskehitintä? Olen käyttänyt Borlandin Jbuilder 9 Personalia, mikä on ihan hieno, mutta kuin huomaamatta koodiin saattaa lipsahtaa Borlandin omia luokkia ellei ole tarkkana. Lisäksi iso osa ominaisuuksista on disabloitu tuossa kokeiluversiossa.

    Eli vinkkiä otettaisiin vastaan. Käyttöjärjestelmä on Fedora Core 1 (pian 2).

    En oo Piru, mutta mä suosittelen Netbeansia.

    http://www.netbeans.org/downloads/ide/index.html

    Tai tuolta sdk: kera:

    http://java.sun.com/j2se/1.4.2/download.html

    Äänestä

  • Jahvetti kirjoitti:

    hyvää ja ilmaista sovelluskehitintä? Olen käyttänyt Borlandin Jbuilder 9 Personalia, mikä on ihan hieno, mutta kuin huomaamatta koodiin saattaa lipsahtaa Borlandin omia luokkia ellei ole tarkkana. Lisäksi iso osa ominaisuuksista on disabloitu tuossa kokeiluversiossa.

    Eli vinkkiä otettaisiin vastaan. Käyttöjärjestelmä on Fedora Core 1 (pian 2).

    Eclipse on mielestäni ehdottomasti paras IDE tällä hetkellä. Ilmainen ja helppo lisätä tarvittavia plugineja. J2EE-koodaukseen pluginiksi Lomboz sekä Sysdeo Eclipse Tomcat Launcher.
    http://www.eclipse.org
    Suosittelen v3.0:n imuttamista, vaikka onkin vielä hieman keskeneräinen.

    Tuossa jonkun mainitsemaa Netbeansia en suosittele. Erittäin raskas, kaatuilee helposti eikä muutenkaan vedä vertoja ominaisuuksiltaan Eclipselle.

    Äänestä

  • Power Pope kirjoitti:

    Eclipse on mielestäni ehdottomasti paras IDE tällä hetkellä. Ilmainen ja helppo lisätä tarvittavia plugineja. J2EE-koodaukseen pluginiksi Lomboz sekä Sysdeo Eclipse Tomcat Launcher.
    http://www.eclipse.org
    Suosittelen v3.0:n imuttamista, vaikka onkin vielä hieman keskeneräinen.

    Tuossa jonkun mainitsemaa Netbeansia en suosittele. Erittäin raskas, kaatuilee helposti eikä muutenkaan vedä vertoja ominaisuuksiltaan Eclipselle.

    Pitääkö Eclipseä varten ottaa joku plugini, että pääsee maalaamaan noita swing -käyttöliittymiä?
    Ainakaan en löytäny mistään toimintoa mistä niitä pääsis tekee.

    Entä miten noita plugineja voi lisätä ja mistä niitä saa?

    Äänestä

  • Jahvetti kirjoitti:

    hyvää ja ilmaista sovelluskehitintä? Olen käyttänyt Borlandin Jbuilder 9 Personalia, mikä on ihan hieno, mutta kuin huomaamatta koodiin saattaa lipsahtaa Borlandin omia luokkia ellei ole tarkkana. Lisäksi iso osa ominaisuuksista on disabloitu tuossa kokeiluversiossa.

    Eli vinkkiä otettaisiin vastaan. Käyttöjärjestelmä on Fedora Core 1 (pian 2).

    Itse olen käytänyt NetBeans IDE:tä lähinnä GUI (J2SE) protoiluun, nopea ja ainakin itselläni toiminut ihan hyvin. NetBeans IDE:ssä on omat kuriositeettinsa, mutta kun niistä pääsee yli, IDE osoittautuu ihan päteväksi. Eclipsessä on myös omat todella hyvät puolensa, GUI builderi vaan tuntuu olevan hakusessa (ehkä jo nykyjään kunnon pluggari olemassa ?). Laajemman softaprojektin vääntämiseen saattaisin valita Eclipsen, sellaisessa kun GUI layout designin tekisin kuitenkin paperilla ja kynällä. Jos aikaa, niin kannattaisi tsekata kumpaakin. Huomaat aika nopeasti kumpi puhuttelee enemmän.

    Toisaalta jos joskus tarkoituksena koodata kamaa Eclipsen tai NetBeansin frameen, niin IBM:n (Eclipse) SWT GUI kirjasto ja sen tuomat rajoitukset kannattaa ottaa alusta asti huomioon. Luultavasti yksi niistä teknisistä syistä miksi SUN tukee NetBeansiä eikä Eclipseä? NetBeans käyttää Swingiä, mutta (API) dokumentaatio on välillä todella hakusessa. Eclipsen framesta valitettavasti ei kokemusta. Kumpaakin kuitenkin jatkokehitetään koko ajan raivokkaasti.

    Äänestä

  • alkaja kirjoitti:

    Pitääkö Eclipseä varten ottaa joku plugini, että pääsee maalaamaan noita swing -käyttöliittymiä?
    Ainakaan en löytäny mistään toimintoa mistä niitä pääsis tekee.

    Entä miten noita plugineja voi lisätä ja mistä niitä saa?

    Kokeileppa vaikka tätä:
    http://www.eclipseplugincentral.com/Web_Links index-req-viewlink-cid-53.html

    En ole Eclipsellä tehnyt Swingillä mitään, joten en tuota pluginiakaan ole käyttänyt. Tuo kuitenkin vaikuttaa hyvältä.

    Tuolta eclipse plugin centralista löytää kaikki pluginit tietääkseni. Löytyy myös googlella hakusanoilla eclipse swing plugin

    Äänestä

  • Piru kirjoitti:

    ja sovelluskehittimellä saa tehtyä vaikeampiakin käyttöliittymiä.

    Asentaa verkkopalvelimelle sen, niin työasemille ei tarvitse asentaa kuin pikakuvake.

    Olen näprännyt Borlandin JBuilderilla oliko versio 5 muistaakseeni, teki aivan hirveää käyttöliittymäkoodia.

    Toisaalta sillä ei ole merkitystä jos sitten käyttöliittymäohjelmoinnin kokonaan hoitaa ylläpitoa myöten ko. kehittimellä, mutta jos itse koodia pitää lähteä selvittämään niin ylläpidollisesti on aika hankalan näköistä sotkua.

    Äänestä

  • Aleksi kirjoitti:

    Olen näprännyt Borlandin JBuilderilla oliko versio 5 muistaakseeni, teki aivan hirveää käyttöliittymäkoodia.

    Toisaalta sillä ei ole merkitystä jos sitten käyttöliittymäohjelmoinnin kokonaan hoitaa ylläpitoa myöten ko. kehittimellä, mutta jos itse koodia pitää lähteä selvittämään niin ylläpidollisesti on aika hankalan näköistä sotkua.

    Tosissaan oli aika vaikeaa, näin Delphin jälkeen nämä kaikenmaailman Layoutit, Box, GridBagLayout, Spring.. mitä näitä löytyykään!??

    Mutta oli pakko käyttää jotain ja itse olen käyttänyt Flow, Border jne.. ja niiden lisäksi Box ja GridBagLauout systeemejä. Kyllä se siitä kun jyvälle pääsee alussa ja ymmärtää niiden idiksen!

    Mutta sitä mä ihmettelen, että edelleenki pitää fonttien koko suhteuttaa käytössäolevaan resoluutioon, samoin valikoiden fontit jne.. kyllähän näissä hommissa pähkäiltävää riittä, kun softan pitäs niin monessa ympäristössä näyttää hyvälle :)

    Äänestä

  • Ash kirjoitti:

    Tosissaan oli aika vaikeaa, näin Delphin jälkeen nämä kaikenmaailman Layoutit, Box, GridBagLayout, Spring.. mitä näitä löytyykään!??

    Mutta oli pakko käyttää jotain ja itse olen käyttänyt Flow, Border jne.. ja niiden lisäksi Box ja GridBagLauout systeemejä. Kyllä se siitä kun jyvälle pääsee alussa ja ymmärtää niiden idiksen!

    Mutta sitä mä ihmettelen, että edelleenki pitää fonttien koko suhteuttaa käytössäolevaan resoluutioon, samoin valikoiden fontit jne.. kyllähän näissä hommissa pähkäiltävää riittä, kun softan pitäs niin monessa ympäristössä näyttää hyvälle :)

    Miksi ei voisi olla niin, että kun kehittää jollekkin systeemille käyttöliittymän sen mukaan mille tekee käyttöliittymää, niin ei vois olla semmosta LayOuttia, joka suhteuttaa vaikka prosentteina käytetystä resoluutiosta/systeemistä komponenttien sijainnin/koon/fontit Automaattisesti, niin että liittymä näkys aina samanlaiselta, oli sitten mikä resoluutio/systeemi käytössä tahansa, ilman että niitä sen kummemmin tarviis sovittaa!!

    Äänestä

  • Ash kirjoitti:

    Miksi ei voisi olla niin, että kun kehittää jollekkin systeemille käyttöliittymän sen mukaan mille tekee käyttöliittymää, niin ei vois olla semmosta LayOuttia, joka suhteuttaa vaikka prosentteina käytetystä resoluutiosta/systeemistä komponenttien sijainnin/koon/fontit Automaattisesti, niin että liittymä näkys aina samanlaiselta, oli sitten mikä resoluutio/systeemi käytössä tahansa, ilman että niitä sen kummemmin tarviis sovittaa!!

    On hankalaa ja työlästä näpräämistä kun vääntää käyttöliittymiä juuri mainitsemistasi syistä.

    Minulla meni aikaa kun väänsin JBuilderilla swing-käyttöliittymää taisi olla gridbad-layout,
    jos sen sitten olis koodannu käsin niin olis ollu vielä isompi homma.

    Ei siinä mitään jos olisi joku yksinkertainen pieni käyttöliittymä, mutta jos on paljon komponentteja ja aikaa on vähän niin homma menee kalliiksi ja työlääksi.

    Eihän graafisesti vaativampia web-sivujakaan kannata lähteä tekemään niin että laittaa taulukon pohjaksi kirjoittaen tägejä ja sitten yrittää laittaa erilaisia graagisia elementtejä kohdalleen.

    Jos on aikaa niin voi tietysti homman tehdä työläästi ja ottaa asioista työvoiton ja olla onnellinen.

    Kuitenkin aika kehittymätöntä hommaa on graafisten käyttöliittymien toteuttaminen.

    Olen itsekin miettinyt käyttöliittymän automaattista skaalaamista, pitäis joskus kokeilla sellaista, että tekis liittymän siten että osoittais komponenttien paikat koordinaatteina, ja sitten muuttais paikat, komponenttien koot ja fonttien koot suhteellisiksi.


    Sen jälkeen lukee näytön koon ja sen mukaan määräytyy käyttöliittymän asettelu tarkalleen.

    Vois tehdä softalla eräälaisen templaten jota sitten käyttäis aina kun vääntää käyttöliittymää.

    Äänestä

  • hoplaa kirjoitti:

    En oo Piru, mutta mä suosittelen Netbeansia.

    http://www.netbeans.org/downloads/ide/index.html

    Tai tuolta sdk: kera:

    http://java.sun.com/j2se/1.4.2/download.html

    Olen samaan mieltä. Nykyinen 3.6 on hyvä tekele erityisesti j2EE:n tekemiseen. Mukana on kevyesti pyörivä Tomcat 5 ym. hyvä debuggaus. Ylivoimaisesti paras Grigbag -työkalu. Tekee myös setit ja getit kaikille muuttujille kerralla. NB vaatii toki opettelua, koska tavaraa on tosi paljon.

    Äänestä

  • Swinger kirjoitti:

    Itse olen käytänyt NetBeans IDE:tä lähinnä GUI (J2SE) protoiluun, nopea ja ainakin itselläni toiminut ihan hyvin. NetBeans IDE:ssä on omat kuriositeettinsa, mutta kun niistä pääsee yli, IDE osoittautuu ihan päteväksi. Eclipsessä on myös omat todella hyvät puolensa, GUI builderi vaan tuntuu olevan hakusessa (ehkä jo nykyjään kunnon pluggari olemassa ?). Laajemman softaprojektin vääntämiseen saattaisin valita Eclipsen, sellaisessa kun GUI layout designin tekisin kuitenkin paperilla ja kynällä. Jos aikaa, niin kannattaisi tsekata kumpaakin. Huomaat aika nopeasti kumpi puhuttelee enemmän.

    Toisaalta jos joskus tarkoituksena koodata kamaa Eclipsen tai NetBeansin frameen, niin IBM:n (Eclipse) SWT GUI kirjasto ja sen tuomat rajoitukset kannattaa ottaa alusta asti huomioon. Luultavasti yksi niistä teknisistä syistä miksi SUN tukee NetBeansiä eikä Eclipseä? NetBeans käyttää Swingiä, mutta (API) dokumentaatio on välillä todella hakusessa. Eclipsen framesta valitettavasti ei kokemusta. Kumpaakin kuitenkin jatkokehitetään koko ajan raivokkaasti.

    Apit on NB:ssä tosi hyvin käytössä kunhan muistaa liittää projektiinsa tarvittavat api-doc -hakemistot (tai jarrit tai http:t) javadoc managerilla. Jsp -sivuilla ei tosin java -helppi toimi. Näyttää myös muuten rakenteilla olevan projektin lähdekoodista käytettävien metodien javadocit (jos ne vaan on tehty).

    Äänestä

Kommentoi aloitusta


Aleksi kirjoitti:

Kun näprää javalla graafista käyttöliittymää (swingiä), niin pitää käpistellä erinäköisten asettelujen kanssa esim. taulukkoasettelu jne...
käyttöliittymäohjelmointi on aika kankeaa touhua javassa ja kuitenkin saa aikaiseksi käyttöliittymän joka pitää aina asentaa jokaiseen työasemaan.

Eikö olisi parempi vääntää joku web-lomake käyttöliittymäksi esim. Macromedian Dreamweaverilla. Voisi käyttää sivupohjia, ja tasoja ym.. mikä helpottaa huomattavasti käyttöliittymäsuunnittelua.

Tietenkään kaikki hienoudet eivät toimi kuten raahaa ja pudota-toiminto.

Onko swingien ohjelmointi jäämässä historiaan vai käytetäänkö sitä vielä kuinka paljon?

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