1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| public class GUIManager extends JFrame implements ActionListener {
private JButton but1;
private JButton but2;
// Barre d'états
private JPanel m_barreEtat;
private JLabel m_barreEtatStatusLabel;
private Timer m_timer;
private DateTime m_date;
/**
* Constructeur
*/
public GUIManager() {
m_date = new DateTime();
m_timer = new Timer(60000, this);
but1 = new JButton("Un");
but1.addActionListener(this);
but2 = new JButton("Deux");
but2.addActionListener(this);
// La frame
this.setContentPane(build());
this.setSize(new Dimension(GUIUtils.getDimensionFrame(this)));
GUIUtils.locateOnScreenCenter(this);
//this.setResizable(false);
this.setTitle("Manager");
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent evt) {
quit();
}
});
}
/**
* Construit la frame
* @return panel Le panel des sélections
*/
private Container build() {
// Barre d'état
m_barreEtat = new JPanel();
buildBarreEtat();
CellConstraints cc = new CellConstraints();
FormLayout layout = new FormLayout("fill:60dlu, 5dlu, fill:1dlu:grow", "30dlu, fill:50dlu:grow, 20dlu");
DefaultFormBuilder builder = new DefaultFormBuilder(layout);
builder.add(but1, cc.xy(1, 1));
builder.add(but2, cc.xy(3, 1));
builder.add(m_barreEtat, cc.xyw(1, 3, 3));
return builder.getPanel();
}
/**
* Consrtuit la barre d'états
*/
private void buildBarreEtat() {
m_barreEtatStatusLabel = new JLabel();
m_barreEtat.setBackground(Color.WHITE);
m_barreEtatStatusLabel.setText(m_date.toDate().toString());
m_barreEtat.add(m_barreEtatStatusLabel);
}
/**
* Met à jour le texte dans la barre d'état
*/
private void setBarreEtatStatus() {
m_barreEtatStatusLabel.setText(m_date.toDate().toString());
}
/**
* Permet de quitter l'application
* @return Si la fenêtre doit être fermée ou pas
*/
private boolean quit() {
dispose();
return true;
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource == but1) {
system.out.println("Bouton 1");
} else if (e.getSource == but2) {
system.out.println("Bouton 2");
} else { // Si ce n'est pas un bouton, c'ets le timer
// Lorsque le timer est au bout
setBarreEtatStatus();
invalidate();
repaint();
}
}
} |
Partager