import javax.swing.*; import javax.swing.border.BevelBorder; import java.awt.*; /** * Affiche une barre de statut au pied de la fenêtre * @author V.BOULANGER */ public class AppThinkerStatusbar extends JPanel { private JLabel _statusLabel; private JLabel _posXLabel; private JLabel _posYLabel; private JLabel _sizeXLabel; private JLabel _sizeYLabel; private JLabel _fileLabel; /** * Constructeur de la classe AppThinkerStatusbar */ public AppThinkerStatusbar(){ //Création de la statusBar this.setBorder(new BevelBorder(BevelBorder.LOWERED)); this.setLayout(new GridLayout(1,3)); _statusLabel = new JLabel("Créez ou importez un projet pour commencer."); this.add(_statusLabel); JPanel actionBar = new JPanel(); _posXLabel = new JLabel("PX : 0 |"); actionBar.add(_posXLabel); _posYLabel = new JLabel("PY : 0 |"); actionBar.add(_posYLabel); _sizeXLabel = new JLabel("SX : 0 |"); actionBar.add(_sizeXLabel); _sizeYLabel = new JLabel("SY : 0"); actionBar.add(_sizeYLabel); this.add(actionBar); _fileLabel = new JLabel("Aucun projet ouvert"); _fileLabel.setHorizontalAlignment(JLabel.RIGHT); this.add(_fileLabel); } /** * Met à jour le texte de statut de la barre de statut. * @param statusMessage Le message à afficher. */ public void setStatusMessage(String statusMessage){ this._statusLabel.setText(statusMessage); } /** * Met à jour le nom du fichier dans la barre de statut. * @param fileMessage Le nom du fichier à afficher. */ public void setFileMessage(String fileMessage){ this._fileLabel.setText(fileMessage); } /** * Met à jour les labels de position. * @param posX La position X. * @param posY La position Y. */ public void setPosLabel(int posX, int posY){ this._posXLabel.setText("X : " + Integer.toString(posX) + " |"); this._posYLabel.setText("Y : " + Integer.toString(posY) + " |"); } /** * Met à jour les labels de taille. * @param sizeX La taille X. * @param sizeY La taille Y. */ public void setSizeLabel(int sizeX, int sizeY){ this._sizeXLabel.setText("SX : " + Integer.toString(sizeX)); this._sizeYLabel.setText("SY : " + Integer.toString(sizeY)); } }