Quitter l'application en dissolvant les fenêtres
Projet gus05 de développement Java :: Développements :: Quelque-unes de mes entités :: Programmation graphique Swing :: Fonctionnalités de semi-transparence
Page 1 sur 1
Quitter l'application en dissolvant les fenêtres
Voici une entité à lancer au démarrage de l'application qui permet de donner un effet de dissolution aux fenêtres lorsque vous quittez l'application. Cette entité nécessite le gestionnaire Kassia version 20110424 ou plus. Par ailleurs, elle utilise l'API JNA (Java Native Access).
gus.graphic.frame.dissolveonexit
Cette entité comporte d'une classe dont le code source est donné ci-dessous :
gus.graphic.frame.dissolveonexit
Cette entité comporte d'une classe dont le code source est donné ci-dessous :
- Code:
package gus05.entity.gus.graphic.frame.dissolveonexit;
import java.awt.Frame;
import java.util.Map;
import com.sun.jna.platform.WindowUtils;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.features.Execute;
import gus05.framework.tools.DefaultSupport;
public class DissolveOnExit extends DefaultSupport implements Entity, Runnable, Execute {
public String getName() {return "gus.graphic.frame.dissolveonexit";}
public String getCreationDate() {return "2011.04.21";}
public static final String POOL_OBJ_EXITTRIGGER = "app.exittrigger";
public static final float DELTA = 0.05f;
public static final long LAPSE = 40;
private Map pool;
public DissolveOnExit() throws Exception
{
pool = (Map) Outside.resource(this,"internal.poolmap");
pool.put(POOL_OBJ_EXITTRIGGER,this);
}
public void execute() throws Exception
{new Thread(this,"THREAD_"+getName()).start();}
public void run()
{
Frame[] frames = Frame.getFrames();
System.setProperty("sun.java2d.noddraw","true");
float alpha = 1f;
while(alpha>0)
{
alpha -= DELTA;
for(int i=0;i<frames.length;i++)
WindowUtils.setWindowAlpha(frames[i],alpha);
try{Thread.sleep(LAPSE);}
catch(InterruptedException e){}
}
System.getProperties().remove("sun.java2d.noddraw");
triggerExit();
}
private void triggerExit()
{send(this,"triggerExit()");}
}
Projet gus05 de développement Java :: Développements :: Quelque-unes de mes entités :: Programmation graphique Swing :: Fonctionnalités de semi-transparence
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Mar 16 Sep - 12:01 par Gus
» Présentation du jeu Vindinium
Jeu 20 Fév - 15:32 par Gus
» Rechercher la cible la plus proche avec le "Breadth First Search"
Jeu 20 Fév - 13:06 par Gus
» Impression d'écran avec sélection de zone
Jeu 20 Fév - 12:12 par Gus
» Envoyer un mail par un compte Gmail
Jeu 25 Avr - 14:04 par Gus
» Streaming : comment télécharger les vidéos
Lun 4 Fév - 19:59 par Gus
» Synology : installer ipkg
Mar 22 Jan - 21:22 par Gus
» Trouver le type de lecteur avec JNA
Mer 9 Jan - 23:11 par Gus
» Adresse ip publique et adresse ip privée, Internet box et UPnP
Mer 9 Jan - 21:02 par Gus
» Accéder au numéro de série du lecteur par un script vb
Mer 9 Jan - 19:31 par Gus