Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - impostare un wallpaper con java
Forum - Java - impostare un wallpaper con java

Avatar
toretto (Normal User)
Newbie


Messaggi: 4
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 18:17
Martedì, 06/06/2006
ciao sono nuovo ed è da poco ke sto studiando java all università.
vorrei fare un programma ke funzioni in background in grado di scegliere un immagine da una cartella ed impostarla come sfondo del desktop magari impostandolo centrato o esteso a seconda della grandezza in pixel dell' immagine.
Non conosco molto java e per eseguire i programmi uso ancora il prompt dei comandi quindi vi chiedo dei suggerimenti facili in modo che li possa capire pure io.
grazie

Ultima modifica effettuata da toretto il 06/06/2006 alle 18:18
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:42
Mercoledì, 07/06/2006
Java non può direttamente interagire così tanto col sistema operativo essendo interpretato dalla JVM. Nella core standard non esiste qualcosa che imposta lo sfondo del desktop, dovresti trovare una classe fatta da terzi e nella peggiore delle ipotesi fare tu i metodi nativi con un linguaggio appunto nativo e che possa interagire col sistema e poter essere richiamato da Java (solitamente si usa C/C++).

PM Quote
Avatar
toretto (Normal User)
Newbie


Messaggi: 4
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 14:52
Giovedì, 08/06/2006
qundi dovrei fare un programma in c++ e richiamarlo in una classe?:d

ma nn si perde la portatilita di java in questo modo?

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 18:31
Giovedì, 08/06/2006
si, si perde la portabilità diciamo "integrata"(termini coniati sul momento per questo contesto mi sa). Cmq non è che crei un programma, ma una libreria(le dll in windows proprio) che richiami in Java. Tutta la JVM si fonda su questo meccanismo: astrarre un'operazione che con l'interfaccia di programmazione in Java resta uguale(sia linux, windows, mac, *bsd, solaris...  bhò netware o ndis2 :-) ) però il codice nativo che viene richiamato cambia.
Se esistesse nella core standard il metodo(per esempio)

toolkit.getDefaultToolkit().setWallpaper(Image img)

la JVM se è quella di windows saprà che dovrà eseguire il codice nativo presente in... mettiamo win.dll, se la JVM è quella di linux e sta usando kde in sysKde.o (nomi così eh)

Infatti quando in Java richiami la libreria non metti l'estensione, ma la JVM guarda su che sistema gira e trova sola la libreria prensente nelle cartelle del jre(aggiungendo l'ext usata dal sistema).

Un esempio su come creare un metodo nativo lo trovi negli appunti Java "gestire nativamente mouse in windows" e anche il programma già compilato nell'omonima sezione sotto sorgenti.(usa la ricerca casomai)

Ad ogni modo, il tipo di progetto(programma in background che interagisce in qualcosa col sistema operativo) non è fra i purpose di Java, si può fare, ma... diciamo che i vantaggi ottenuti non superano il lavoro fatto(IMHO).

ciao

Ultima modifica effettuata da netarrow il 08/06/2006 alle 18:34
PM Quote