IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[Conception] Dialogue d'attente


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut [Conception] Dialogue d'attente
    Bonjour,

    J'ai voulu faire un dialogue d'attente (cad avec un message et un JProgressBar, le tout sur une image de fond), et je me heurte au probleme suivant: quand j'instancie ma classe, le dialogue s'affiche, mais quand je fais appel au stepIt() ou au setMessage(), rien ne se passe, les éléments d'affichage (JLabel et JProgressBar) ne bougent pas. Quelqu'un aurait une idée de pourquoi?

    source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    package interfaces;
     
    import java.awt.*;
    import java.awt.image.*;
    import javax.swing.*;
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    import javax.imageio.*;
     
     
    /** Classe créant un dialogue d'attente contenant une JProgressBar,
     * ainsi qu'un JLabel détaillant les étapes en cours
     **/
    public class DialogueAttente extends JFrame
    {
    	// JLabel d'affichage de message
    	public JLabel message = new JLabel("Attente...");
    	//Barre de progression
    	public JProgressBar barre = new JProgressBar();
    	//Panel avec fond d'image
    	public MonPanelAvecFond panel;
     
    	public DialogueAttente(int taille)
    	{
    		barre = new JProgressBar(0, taille);
    		panel = new MonPanelAvecFond(barre, message);
    		add(panel);
    		setSize(305, 325);
    		setAlwaysOnTop(true);
    	}
     
    	// Pour passer a l'etape suivante
    	public void stepIt()
    	{
    		panel.stepIt();
    	}
     
    	//Pour changer le message du JLabel
    	public void setMessage(String nouveau)
    	{
    		panel.setMessage(nouveau);
    	}
     
    	//Classe permettant de generer un JPanel avec un image en fond
    	private class MonPanelAvecFond extends JPanel
    	{
    		public JLabel message = new JLabel();
    		public JProgressBar barre = new JProgressBar();
     
    		public MonPanelAvecFond(JProgressBar barre, JLabel message)
    		{
    			super();
    			this.message = message;
    			this.barre = barre;
    			GridBagLayout layout = new GridBagLayout();
    			GridBagConstraints contraintes = new GridBagConstraints(1, 1, 1, 1, 10.0, 10.0,
    													GridBagConstraints.CENTER, 
    													GridBagConstraints.NONE,
    													new Insets(10, 10, 10, 10),
    													0, 0);
    			layout.setConstraints(message, contraintes);
    			contraintes.gridy++;
    			layout.setConstraints(barre, contraintes);
    			setLayout(layout);
    			add(message);
    			add(barre);
    			setSize(fond.getIconHeight(), fond.getIconWidth());
    		}
     
    		public void paintComponent(Graphics g) 
    		{
    			super.paintComponent(g);
    			try 
    			{
    				BufferedImage image = ImageIO.read(new File("images/fond.jpg"));
    				g.drawImage(image, 0, 0, null);
    			} 
    			catch (IOException e) 
    			{
    				e.printStackTrace();
    			}
    		}
     
    		//Passage a l'etape suivante
    		public void stepIt()
    		{
    			barre.setValue((barre.getValue())+1);
    		}
     
    		//Changement de message
    		public void setMessage(String nouveau)
    		{
    			message.setText(nouveau);
    		}
    	}
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    J'ai fini par trouver.... J'ai mis la classe MonPanelAvec Fond dans un fichier indépendant, bricolé deux trois trucs et c'est bon.... Voila les sources pour ceux que ca peut aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public class DialogueAttente extends JFrame
    {
     
    	public PanelAvecFond panel;
     
    	public DialogueAttente(int taille)
    	{
    		panel = new PanelAvecFond(taille, "Bouh!");
    		add(panel);
    		setSize(305, 325);
    		setAlwaysOnTop(true);
    	}
     
    	public void stepIt()
    	{
    		panel.stepIt();
    	}
     
    	public void setMessage(String nouveau)
    	{
    		panel.setMessage(nouveau);
    	}
     
    }
    Et la classe PanelAvecFond:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    import java.awt.*;
    import java.awt.image.*;
    import javax.swing.*;
    import javax.imageio.*;
    import java.io.*;
     
    public class PanelAvecFond extends JPanel
    {
    	public JLabel message = new JLabel();
    	public JProgressBar barre = new JProgressBar();
     
    	public PanelAvecFond(int taille, String msg)
    	{
    		super();
    		this.message = new JLabel(msg);
    		barre = new JProgressBar(0, taille);
    		GridBagLayout layout = new GridBagLayout();
    		GridBagConstraints contraintes = new GridBagConstraints(1, 1, 1, 1, 10.0, 10.0,
    												GridBagConstraints.CENTER, 
    												GridBagConstraints.NONE,
    												new Insets(10, 10, 10, 10),
    												0, 0);
    		layout.setConstraints(message, contraintes);
    		contraintes.gridy++;
    		contraintes.fill = GridBagConstraints.HORIZONTAL;
    		layout.setConstraints(barre, contraintes);
    		setLayout(layout);
    		message.setForeground(Color.green);
    		add(message);
    		add(barre);
    	}
     
    	public void paintComponent(Graphics g) 
    	{
    		super.paintComponent(g);
    		try 
    		{
    			BufferedImage image = ImageIO.read(new File("images/fond.jpg"));
    			g.drawImage(image, 0, 0, null);
    		} 
    		catch (IOException e) 
    		{
    			e.printStackTrace();
    		}
    	}
     
    	public void stepIt()
    	{
    		barre.setValue((barre.getValue())+1);
    	}
     
    	public void setMessage(String nouveau)
    	{
    		message.setText(nouveau);
    	}
    }
    Voilou [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA Access 2003] Boite de dialogue d'attente
    Par Azharis dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/07/2007, 13h16
  2. [Conception] Message d'attente sur une page en php
    Par gpsevasion dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 26/01/2007, 20h01
  3. [Concept] Métadatas ?
    Par melinda dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 10/11/2004, 11h56
  4. [Concept] Réplication
    Par melinda dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 31/03/2003, 17h29
  5. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo