Accueil > > > UN WAITER PERMETTANT D'AFFICHER CE QUE LE PROG FAIT .
UN WAITER PERMETTANT D'AFFICHER CE QUE LE PROG FAIT .
Information sur la source
Description
Ce prog ouvre une fenetre en plein milieu de l'ecran, affiche le texte que vous voulez. Une barre progresse juste au dessous du texte faisant comprendre que à l'utilisateur qu'il n'attends pas pour rien. Le demarage se fait à la creation du waiter(Waiter waiter = new Waiter(); ), la mise à jour du texte se fait par la methode waiter.setTexte(string) et la fermeture par waiter.close();
Source
- /*************************************************
- créé par AlphaSurfeur
- **************** 19 mars 2003 *********************/
-
- import java.awt.*;
- import java.awt.geom.*;
- import java.awt.event.*;
- import javax.swing.*;
-
- public class Waiter extends JWindow implements ActionListener{
- // creer composants
- private int x , tWinX, tWinY, tailleFenetreX, tailleFenetreY;
- private int xa, ya, delaiAnimation;
- private FontMetrics fm;
- private String texte;
- protected Timer timer;
-
- /** Creates new Waiter */
- public Waiter() {
- // recup taille ecran
- tailleFenetreX = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
- tailleFenetreY = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
- start();
- tWinX = 300; tWinY = 120;
- xa = (tailleFenetreX/2)-tWinX/2;
- ya = (tailleFenetreY/2)-tWinY/2;
- setBounds(xa, ya, 300, 120);
- setBackground(Color.darkGray);
- setVisible(true);
- } // fin de constructeur
- // methodes
- public void paint(Graphics g){
- fm = g.getFontMetrics();
- if(texte == null || texte.equals(""))
- { texte = new String("Veuillez patienter...");}
- int longueurTexte = fm.stringWidth(texte);
- // si texte trop long
- if(longueurTexte >= 280){
- tWinX = longueurTexte + 20;
- setBounds(xa, ya, tWinX, tWinY);}
- int hauteurTexte = fm.getHeight();
- int contourX = tWinX-10;
- int contourY = tWinY-10;
- int xb = (contourX/2)-(longueurTexte/2);
- // dessiner le contour
- g.setColor(Color.darkGray);
- g.fill3DRect(5, 5, contourX, contourY, true);
- // texte
- g.setColor(Color.lightGray);
- g.fill3DRect(xb-2, 22, longueurTexte+4, 2+hauteurTexte, false);
- g.setColor(Color.red);
- g.drawString(texte, xb, 20+hauteurTexte);
- // barre
- g.setColor(Color.lightGray);
- g.fill3DRect( 12, 60, contourX-14, 30, false);
- // defilement
- g.setColor(Color.yellow);
- if(x == (contourX-18))
- {g.setColor(Color.blue);
- g.fill3DRect( 12, 60, contourX-14, 30, true);
- x = 0;}
- g.setColor(Color.yellow);
- g.fill3DRect( 14, 62, x, 26, true);
- x++;
- } // fin de paint
- // listener
- public void actionPerformed(ActionEvent e){
- repaint();}
- // setTexte
- public void setTexte(String string){
- texte = new String(string);
- repaint();}
- // start
- public void start(){
- if(timer == null){
- timer = new Timer(50, this);
- timer.start();}
- else if(! timer.isRunning())
- timer.restart();}
- // close
- public void close(){
- timer.stop();
- setVisible(false);}
- // main
- public static void main(String arg[]){
- Waiter i = new Waiter();}
-
- } // fin de classe
-
/*************************************************
créé par AlphaSurfeur
**************** 19 mars 2003 *********************/
import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
import javax.swing.*;
public class Waiter extends JWindow implements ActionListener{
// creer composants
private int x , tWinX, tWinY, tailleFenetreX, tailleFenetreY;
private int xa, ya, delaiAnimation;
private FontMetrics fm;
private String texte;
protected Timer timer;
/** Creates new Waiter */
public Waiter() {
// recup taille ecran
tailleFenetreX = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
tailleFenetreY = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
start();
tWinX = 300; tWinY = 120;
xa = (tailleFenetreX/2)-tWinX/2;
ya = (tailleFenetreY/2)-tWinY/2;
setBounds(xa, ya, 300, 120);
setBackground(Color.darkGray);
setVisible(true);
} // fin de constructeur
// methodes
public void paint(Graphics g){
fm = g.getFontMetrics();
if(texte == null || texte.equals(""))
{ texte = new String("Veuillez patienter...");}
int longueurTexte = fm.stringWidth(texte);
// si texte trop long
if(longueurTexte >= 280){
tWinX = longueurTexte + 20;
setBounds(xa, ya, tWinX, tWinY);}
int hauteurTexte = fm.getHeight();
int contourX = tWinX-10;
int contourY = tWinY-10;
int xb = (contourX/2)-(longueurTexte/2);
// dessiner le contour
g.setColor(Color.darkGray);
g.fill3DRect(5, 5, contourX, contourY, true);
// texte
g.setColor(Color.lightGray);
g.fill3DRect(xb-2, 22, longueurTexte+4, 2+hauteurTexte, false);
g.setColor(Color.red);
g.drawString(texte, xb, 20+hauteurTexte);
// barre
g.setColor(Color.lightGray);
g.fill3DRect( 12, 60, contourX-14, 30, false);
// defilement
g.setColor(Color.yellow);
if(x == (contourX-18))
{g.setColor(Color.blue);
g.fill3DRect( 12, 60, contourX-14, 30, true);
x = 0;}
g.setColor(Color.yellow);
g.fill3DRect( 14, 62, x, 26, true);
x++;
} // fin de paint
// listener
public void actionPerformed(ActionEvent e){
repaint();}
// setTexte
public void setTexte(String string){
texte = new String(string);
repaint();}
// start
public void start(){
if(timer == null){
timer = new Timer(50, this);
timer.start();}
else if(! timer.isRunning())
timer.restart();}
// close
public void close(){
timer.stop();
setVisible(false);}
// main
public static void main(String arg[]){
Waiter i = new Waiter();}
} // fin de classe
Conclusion
Les couleurs sont pas terribles, j'y travaille....
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
mettre un processus en attente longue [ par pms77 ]
slt,comment on peut faire basculer en mode attente longue durée par exemple 2h pour continuer l'execusion d'un programme.
Attente active [ par Kaktus ]
Tout d'abord bonjour à tous !Je connais actuellement énormément de difficultés pour créer une attente active dans mon jeu.Je souhaiterais une attente
probleme d'attente [ par debiloffprofondikum ]
Bonjour,je lance un executable dans mon programme java qui va créer un fichier.Puis plus loin dans le code, je cherche à récupérer ce fichier.Mais le
Se mettre en attente de donnees sur un fichier [ par puxware ]
Salut,Voila mon probleme :Au lieu de lire à intervalles régulier mon fichier, je voudrais me mettre en attente et déclencher la lecture lorsque des do
attente Jframe [ par pasqal ]
Je voudrais attendre la fermeture d'une Jframe avant de poursuivre la suite du programme.Pouvez-vous m'aider ?merciPASQAL
Fenêtre d'attente + thread = problème :( [ par brupistone ]
Bonjour à tous, je me tourne vers vous pour comprendre un problème sur lequel je bloque depuis quelques jours.Je souhaiterais afficher une fenêtre d'a
Attente condition sans boucle [ par omcougar ]
Bonjour,J'ai plusieurs threads qui sont suceptibles d'attendre qu'une condition soit vraie...bon evidemment on peut faire une boucle genrewhile(!ma_co
Attente d'un clic [ par bond_never_die ]
Bonjour à tous, Voilà, j'ai un petit souci avec une application que je suis en train de développer : La fonction qui me prose problème doit normalemen
créer server attente requete conexion boucle infinie transfert données [ par baba159 ]
Bonjour,J'ai pour but de créér une petite appli telle que celle produite par Markus Rhalf voir www.FinchSync.comJe commence en JAVA, et j'ai quelques
code "gestion des phénomènes d'attente [ par yoshiiiiiiiiiii2 ]
Bonjour, ne m'y connaissant pas du tout en programmation (je suis un archi-débutant ^^), j'ai trouvé sur le site le code source appelé "Gestion des ph
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|