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
ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|