Netbeans / AWT / Swing ?

javailija80

Nykyisin näyttää olevan tapana käyttää Swingiä ennemminkin kuin AWT:tä.

Onko tämä ihan aina fiksua, onkin eri asia.

Ainakin Netbeans Swing -yhdistelmässä on bugi: kun kaikki pyritään tekemään Javalla eikä käytetä käyttöjärjestelmän (tässä: MS-Windows XP) UI -elementtejä, niin eihän homma tietenkään toimi oikein: Kun avaat ohjelman päätason menun, niin pudotusvalikot jäävät Java -lomakkeen komponenttien "alle" jolloin pudotusvalikon tekstejä voi olla mahdotonta lukea.

Siispä:

1. Voiko Netbeansissa jotenkin luoda uuden AWT -projektin (siis EI swingiä, joka on oletus GUI -projekteissa) ? Jos, niin miten ?


ja niille, jotka kaikesta huolimatta pitävät Swingiä parempana: alla ohjeita ja neuvoja Swingin käyttöön käytännön tehtävissä:

http://bytes.com/topic/java/insights/853297-doing-swing-right


Lainaus linkatulta sivulta:

"By contrast, Swing components are written in Java (hence the J before the component names) and can be made to look the same on all platforms..."

3

890

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • if-else

      Sen enempää kantaa ottamatta työkalujen ja kirjastojen paremmuuteen, niin Swing:ssä ei pitäisi olla tuollaista rajoitusta. Eli kuulostaa kuin koodissa (eli joko Netbeans:ssa tai käyttäjän) olisi jotain "vikaa", joka johtaa kyseiseen, ei haluttuun toimintaan.

      Netbensista en tiedä, mutta jos siinä voi muuttaa komponenttien luonti järjestystä ja sitä mikä komponentti on edessä ja mikä takana, niin varmaan kannattaa kokeilla muuttaa kyseisiä asetuksia. Jos tarkoitit että ongelma on omassa käynnistetyssä ohjelmassa, niin silloin kannattaa varmistaa, että ohjelman kaikki käyttöliittymänkutsut tehdään säieturvallisesti, ja ohjelmassa on käytetty vain Swing komponentteja. AWT:n ja Swing:n lisäksi Javaan on saatavilla myös muita käyttöliittymäkirjastoja Swing:n ja AWT:n lisäksi. Jokaisella käyttöliittymäkirjastolla kuitenkin voi tulla samanlainen tilanne eteen, jossa editorissa olevan ikkunan ulkoasu ja käyttäytyminen eivät vastaa todellista, tai käynnistetyssä järjestys on jotenkin väärin. Muissa kielissä ja käyttöliittymäkirjastojen kanssa törmää usein samoihin ongelmiin, (eli joku komponentti peittääkin toisen, jne.).


      Se mitä käyttöliittymäkirjastoa kannattaa käyttää, riippuu mielestäni siitä mitä käyttöliittymä komponentteja tarvitsee ja mitä kehitystyökalua haluaa käyttää. Swing ja AWT:n välillä on myös muita eroa kuin tuo mainitsemasi, (esim. komponentti tarjonnassa), joten ne eivät ole mielestäni useimmissa tapauksissa edes vaihtoehtoisia korvaajia toisilleen. Ja tosiaan tuo mainitsemasi "ongelma" kuulosti johtuvan enemmänkin koodista tai kehitystyökalussa, eikä varsinaisesti käytetytyssä käyttöliittymä kirjastossa.

    • jaded83

      > Ainakin Netbeans Swing -yhdistelmässä on bugi

      Niinku missä mielessä, missä versiossa? No en itse kyllä käytä sitä suoraan graafisesti käyttöliittymän tekoon, kirjoitan käsin.

      Windows 'Look And Feel' parantunut jo aika huomattavasti siitä mitä se joskus on ollut, harmi että XPStyle on natiivi ja kielletty luokka. Muuten ei mielestäni niin mitään kummia puutteita ole tullut. Vista:sta ei tietoo, en käytä enkä tuu käyttään, liian raskas, hidas ja ei mitenkään mullistava (no joo off topic).


      Onko Heavyweight / Lightweight tuttu käsite javassa?

      Heavyweight (eli AWT) on natiivi pohjaista, eli siinä tulee tiettyjä rajoituksia vastaan. Jokaisella komponentilla oma 'peer' (kutsuu natiivia graafista käyttöliittymää). Voidaan piirtää vain neliskanttisia muotoja. ym...

      Lightweight (eli Swing). Swing:ssä koko helahoidos on vain yksi 'peer', jolloin voidaan mahdollistaa erinäköisiä käyttöliittymiä eri järjestelmille (LookAndFeel). Läpinäkyvyys (Transparency) mahdollista pyöreiden, ym... muotojen piirron. Hyvät avut SwingWorker, Timer, ym... http://letmegooglethatforyou.com/?q=Java Lightweight

      Kuka se AWT komponentteja käyttää, niitä käyttää ne jotka tekee java pohjaisia PELEJÄ.

    • jaded83

      > Kun avaat ohjelman päätason menun, niin pudotusvalikot jäävät Java -lomakkeen komponenttien "alle" jolloin pudotusvalikon tekstejä voi olla mahdotonta lukea.

      Ei mun aivot ny käännä tollaasta, ehkä päivitän ;)

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ja taas ammuttu kokkolassa

      Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.
      Kokkola
      71
      5990
    2. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      130
      5299
    3. Helena Koivu on äiti

      Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.
      Kotimaiset julkkisjuorut
      444
      3208
    4. Ovatko naiset lopettaneet sen vähäisenkin vaivannäön Tinderissa?

      Meinaan vaan profiileja selatessa nykyään valtaosalla ei ole minkäänlaista kirjoitettua tekstiä siellä. Juuri ja juuri s
      Nettideittailu
      102
      1619
    5. Suomi vietiin Natoon väärin perustein. Viides artikla on hölynpölyä. Yksin jäämme.

      Kuka vielä uskoo, että viides artikla takaa Suomelle avun, jos Suomeen hyökätään. Liikuttavasti täällä on uskottu ja ved
      Maailman menoa
      366
      1219
    6. Kuvaile elämäsi naista

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      30
      1049
    7. Et ilmeisesti aio enää ikinä olla tekemisissä

      Että näinkö se menee
      Ikävä
      65
      1011
    8. Sydämeni on sinun luona

      Koko ajan. Oli ympärilläni ketä oli niin sinä olet vain ajatuksissa ja tunteissa. En halua muiden kosketusta kuin sinun
      Ikävä
      46
      926
    9. Trump ja Venäjä

      Huomasitteko muuten... Käytännössä ainoat valtiot, joille Trump EI eilen asettanut typeriä tariffejaan, olivat Venäjä ja
      Maailman menoa
      109
      894
    10. Jatkuva stressitila

      On sinun vuoksesi kun en tiedä missä mennään mutta tunteeni tiedän ainoastaan
      Ikävä
      52
      869
    Aihe