Files
Appthinker/AppThinker/src/AppThinkerStatusbar.java

83 lines
2.4 KiB
Java

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));
}
}