Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Menu oikein Macissa

AkeMake [19.02.2014 21:42:30]

#

Kuva kertoo enemmän kuin tuhat sanaa, joten tässä ongelman ydin.

Koetin kyllä netistä etsiä vastaavia keskusteluja, mutta en varmaan osannut etsiä, kun ei löytynyt. Teen siis harjoitustyönä java-kurssilla erästä ohjelmaa eclipsen WindowBuilderilla. WindowBuilderilla saa menun laitettua kiinni ohjelman ikkunaan (niin kuin kuvastani näkyy), mikä on toki Windowseissa normi juttu ja ihan oikein. Tuollainen menu ei kuitenkaan ole Macin käytäntöjen mukaista vaan Maceissa menun pitäisi olla koko näytön yläosassa. Miten siis saisin tuon menun näkymään Maceissa näytön yläosassa ja muilla koneilla ohjelman oman ikkunan yläosassa?

Edit. Jos/kun netistä löytyy jokin sivu, jossa tällainen yksityiskohtaisesti ja ymmärrettävästi selitetään, niin voi toki linkittää sinne, niin ei tarvitse alkaa vastausta selittä(m)ä(än). Selitys olisi hyvä kuitenkin olla mahdollisimman yksityiskohtainen ja selkeä, koska vasta aloittelen Javan kanssa.

Metabolix [19.02.2014 22:13:23]

#

Googlasin sanoilla Java menu Mac top, ja heti kävi ilmi, että asetuksen apple.laf.useScreenMenuBar pitää olla true siinä vaiheessa, kun AWT ladataan. Tämä tieto vahvistetaan Applen Java-sivuilla.

Arvon asettaminen riippuu siitä, miten teet ohjelman; käsittääkseni voit asettaa sen jostain Eclipsen projektiasetuksista, jolloin se on ohjelmassasi aina käytössä, tai voit asettaa sen Java-virtuaalikoneen komentoriviparametrilla käynnistyksen yhteydessä, jolloin se koskee yhtä ajokertaa, tai voit asettaa sen koodissa main-metodin alussa ennen yhdenkään AWT-luokan esiintymistä, jolloin sen pitäisi toimia kääntäjästä riippumatta. Siis ensiksi voisit koettaa lisätä tällaisen rivin aivan ohjelman main-metodin alkuun:

System.setProperty("apple.laf.useScreenMenuBar", "true");

Minulla ei ole Macia, joten en voi testata näitä vaihtoehtoja käytännössä.

AkeMake [19.02.2014 23:17:45]

#

Hienoa, kiitos. Tuo rivi lisäämällä menu hyppäsi koko näytön yläosaan. Noita Applen Java-sivuja en ollutkaan aikaisemmin huomannut. Siellähän näitä asioita selitetään näköjään melko yksityiskohtaisesti. Ymmärsinköhän tuolta oikein, että vaikka lisäsin tuon rivin koodiini, niin se vaikuttaa ainoastaan Maceissa eikä sotke menua Windowsissa? Vielä pitäisi päästä käsiksi tuohon automaattisesti näytön yläosaan ilmestyneeseen pudotusvalikkoon (antamassani kuvassa "KitiGUI"). Eiköhän siihenkin ohjeet löydy tuolta Applen Java-sivulta, joten sinne tie vie.

Metabolix [20.02.2014 16:28:15]

#

Asetuksen nimi alkaa sanalla apple, joten kyllä se varmasti koskee vain Maceja.

Meinasin jo sanoa, että en tiedä tuosta toisesta valikosta, mutta googlasin nyt kuitenkin sanoilla ”Java Mac top-left application-name drop-down”. Heti hakutuloslistasta näkyi, että valikon nimi on application menu. Niinpä jatkoin haulla ”Java Mac application menu”, jolla löytyykin lisää ohjeita, sekä valmiita koodeja että Applen sivut jälleen. Siis pitää käyttää joitain com.apple.eawt.*-luokkia. Tämän tarkemmin en perehtynyt.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta