Files
Appthinker/AppThinker/src/AppThinkerStatusbar.java

117 lines
3.0 KiB
Java
Raw Normal View History

2020-11-21 19:47:38 +01:00
import javax.swing.*;
import javax.swing.border.BevelBorder;
import java.awt.*;
2020-11-22 15:55:26 +01:00
/**
* Affiche une barre de statut au pied de la fenêtre
* @author V.BOULANGER
*/
2020-11-21 19:47:38 +01:00
public class AppThinkerStatusbar extends JPanel {
private JLabel _statusLabel;
private JLabel _posXLabel;
private JLabel _posYLabel;
private JLabel _sizeXLabel;
private JLabel _sizeYLabel;
private JLabel _fileLabel;
2020-11-21 19:47:38 +01:00
/**
* 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("Prêt.");
this.add(_statusLabel);
2020-11-21 19:47:38 +01:00
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);
2020-11-21 19:47:38 +01:00
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 msg Le message à afficher.
*/
public void setStatusMessage(String msg){
this._statusLabel.setText(msg);
}
/**
* Met à jour le nom du fichier dans la barre de statut.
* @param file Le nom du fichier à afficher.
*/
public void setFileMessage(String file){
this._fileLabel.setText(file);
}
/**
* Met à jour le label de position X.
* @param posX La position X.
*/
public void setPosXLabel(int posX){
this._posXLabel.setText(Integer.toString(posX));
}
/**
* Met à jour le label de position Y.
* @param posY La position Y.
*/
public void setPosYLabel(int posY){
this._posYLabel.setText(Integer.toString(posY));
2020-11-21 19:47:38 +01:00
}
/**
* 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(Integer.toString(posX));
this._posYLabel.setText(Integer.toString(posY));
}
/**
* Met à jour le label de taille X.
* @param sizeX La taille X.
*/
public void setSizeXLabel(int sizeX){
this._sizeXLabel.setText(Integer.toString(sizeX));
}
/**
* Met à jour le label de taille Y.
* @param sizeY La taille Y.
*/
public void setSizeYLabel(int sizeY){
this._sizeYLabel.setText(Integer.toString(sizeY));
}
/**
* 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(Integer.toString(sizeX));
this._sizeYLabel.setText(Integer.toString(sizeY));
}
2020-11-21 19:47:38 +01:00
}