Partage
  • Partager sur Facebook
  • Partager sur Twitter

refresh un jLabel

    19 juin 2017 à 17:46:34

    salut j'ai un problème j'ai créer une sorte de HUD dans lequelle j'affiche un objet temps qui renvoi le temps mais le jlabel ne se rafraîchit pas pouvez vous m'aider

    package test;
    
    import javax.imageio.ImageIO;  
    import javax.swing.*;
    import javax.swing.JLabel;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.BufferedImage;
    import java.util.concurrent.Delayed;
    
    @SuppressWarnings("serial")
    public class TestGraphics extends JFrame implements ActionListener
    {
        JPanel utilBar = new JPanel();
    	private String temps;
        time tps = new time();
       
    
        JLabel time = new JLabel ("Time : "+ tps.getTemps());//cree les different information du HUD
        
        JLabel Diamond = new JLabel("Diamond : ");
        JLabel Score = new JLabel("Score : ");
        JLabel Vie = new JLabel("Vie : ");
    
        GraphicsPanel drawingArea = new GraphicsPanel();// creer l'ariere plan
        
     
    
    
        TestGraphics()//parametre de l'interface
        {   
            setSize(600, 600);
            setLayout(new BorderLayout());
    
            add(utilBar, BorderLayout.NORTH);
            utilBar.setLayout(new GridLayout(1, 4));
            
           // JLabel label2 = new JLabel(String.);
    
            utilBar.add(time);
    
            utilBar.add(Diamond);
            utilBar.add(Score);
            utilBar.add(Vie);
    
    
            add(drawingArea, BorderLayout.CENTER);
            
                    
            setVisible(true);
            
    
        }
         
    	public void actionPerformed(ActionEvent e)//si il ya une action sur l'ariere plan
        {
            time.repaint();
        }
    
        public static void main(String[]agrs) 
        {
            new TestGraphics();
        }
    }
    
    @SuppressWarnings("serial")
    class GraphicsPanel extends JPanel {
    
      
    
        @Override
        protected void paintComponent(Graphics g) {//parametre 
            super.paintComponent(g);
    
            // Clear the graphics
            g.setClip(null);
            g.setColor(Color.black);
            g.fillRect(0, 0, 2000, 1000);
            
        }
    }
    
    
    package test;
    
    public class time {
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	private int temps = 130;
    	private int tpsfin = 0;
    	
    	public int temps() throws InterruptedException{
    	 
    		
    		for (int i = 0; i < 130; i++) {
    		this.temps = temps-1;
    		System.out.println(temps);
    		Thread.sleep(1000);
    
    		if (temps==00){
    			System.exit(0);
    		}
    		
    		}
    		return tpsfin = 0;
    			
    		
    	}
    
    
    	public int getTemps() {
    		return this.temps;
    	}
    
    
    	public void setTemps(int temps) {
    		this.temps = temps;
    	}
    	
    
    }




    -
    Edité par LucVandeVelde 19 juin 2017 à 17:48:36

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2017 à 22:12:31

      Bonjour,

      D'après toi, dans quelle partie du code penses-tu que tu rafraichis ton label ?

      • Partager sur Facebook
      • Partager sur Twitter
        20 juin 2017 à 8:46:19

        Bonjour

        justement je ne sait pas,

        j'ai fait des recherches normalement il devrait de rafraîchir dans l'actionperformed si j'ajoute un bouton mais je cherche a se que sa se fasse automatiquement

        -
        Edité par LucVandeVelde 20 juin 2017 à 8:52:38

        • Partager sur Facebook
        • Partager sur Twitter
          20 juin 2017 à 15:13:25

          Pour faire des tâches automatiquement à intervalles réguliers, le plus simple est d'utiliser un Timer. Regarde la classe javax.swing.Timer.

          • Partager sur Facebook
          • Partager sur Twitter

          refresh un jLabel

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown