Un conteneur de JProgressBar

Aller en bas

Un conteneur de JProgressBar Empty Un conteneur de JProgressBar

Message  Gus le Dim 29 Nov - 23:47

Voici une entité graphique qui contient un objet JProgressBar. Cette entité peut servir de base pour la convention suivante :
- register("size",<String>) permet d'initialiser la progression à la longueur voulue
- register("reset",null) permet de réinitialiser la progression à la longueur précédemment fixée
- execute() : permet de faire avancer la progression de 1.

gus.graphic.progressbar.progress1

Le code source de cette entité est donné ci-dessous :

Code:
package gus05.entity.gus.graphic.progressbar.progress1;

import java.awt.Color;
import gus05.framework.core.Entity;
import gus05.framework.features.Execute;
import gus05.framework.features.Give;
import gus05.framework.features.Graphic;
import gus05.framework.features.Register;
import gus05.framework.features.Retrieve;
import javax.swing.JComponent;
import javax.swing.JProgressBar;


public class Progress1 implements Entity, Graphic, Register, Execute, Give, Retrieve {

    public String getName()         {return "gus.graphic.progressbar.progress1";}
    public String getCreationDate()      {return "2006.08.19";}

    private JProgressBar bar;
    private int size = 0;
    private int current = 0;

   
    public Progress1() throws Exception
    {
        bar = new JProgressBar();
        bar.setBorderPainted(false);
        bar.setStringPainted(true);
        bar.setForeground(Color.GREEN);
    }
   
    private void initialize(int size)
    {
        this.size = size;
        bar.setMaximum(size);
        bar.setValue(0);
        current = 0;
    }
   
    private void reset()
    {
        bar.setValue(0);
        current = 0;
    }
   
    public void give(Object obj) throws Exception
    {execute();}
   
    public void execute() throws Exception
    {
        if(current>=size)return;
        current++;
        bar.setValue(current);
    }

    public JComponent gui()
    {return bar;}

    public void register(String key, Object obj) throws Exception
    {
        if(key.equals("size"))
        {
            int s = Integer.parseInt((String)obj);
            initialize(s);
            return;
        }
        if(key.equals("reset"))
        {
            reset();
            return;
        }
        if(key.equals("color"))
        {
            Color color = (Color)obj;
            bar.setForeground(color);
            return;
        }
        throw new Exception("Unknown key: "+key);
    }
   
    public Object retrieve(String key) throws Exception
    {
        if(key.equals("size")) return ""+size;
        if(key.equals("current")) return ""+current;
       
        if(key.equals("keys")) return new String[]{"size","current"};
        throw new Exception("Unknown key: "+key);
    }
}
Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

Voir le profil de l'utilisateur http://www.gus05.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum