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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
| public class GUIManager extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
public static final int MEMBRES = 1;
public static final int FAMILLES = 2;
private int currentList = MEMBRES;
// Composants
private SimpleInternalFrame m_selectionsFrame;
private SimpleInternalFrame m_membresFrame;
private SimpleInternalFrame m_famillesFrame;
private JPanel m_barreEtat;
private JButton m_membresButton;
private JButton m_famillesButton;
private Box m_selectionsBox;
private JMenuBar m_barreMenu;
// Menu Fichier
private JMenu m_fichier;
private JMenuItem m_file_quitter;
// Menu Edition
private JMenu m_edition;
// Menu Affichage
private JMenu m_affichage;
private JMenuItem m_aff_membres;
private JMenuItem m_aff_familles;
/**
* Constructeur
*/
public GUIManager() {
// La frame
this.setContentPane(build());
GUIUtils.locateOnScreenCenter(this);
// La barre de menu
this.setJMenuBar(buildMenuBar());
this.setSize(new Dimension(800, 550));
this.setResizable(false);
this.setTitle("Manager");
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent evt) {
quit();
}
});
}
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
build();
}
/**
* Construit la frame
* @return panel Le panel des sélections
*/
private Container build() {
m_selectionsFrame = new SimpleInternalFrame("Options");
buildSelectionsFrame();
m_membresFrame = new SimpleInternalFrame("Membres");
buildMembresFrame();
m_famillesFrame = new SimpleInternalFrame("Familles");
buildFamillesFrame();
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.setDefaultDialogBorder();
builder.add(createToolBar(), cc.xyw(1, 1, 3));
builder.add(m_selectionsFrame, cc.xy(1, 2));
if (currentList == FAMILLES) {
builder.add(m_famillesFrame, cc.xy(3, 2));
} else if (currentList == MEMBRES) {
builder.add(m_membresFrame, cc.xy(3, 2));
}
builder.add(m_barreEtat, cc.xyw(1, 3, 3));
return builder.getPanel();
}
private JComponent createToolBar() {
FormLayout layout = new FormLayout("p, 5, p, 5dlu, p, ", "p");
PanelBuilder builder = new PanelBuilder(layout);
builder.setDefaultDialogBorder();
builder.setBackground(Color.WHITE);
JButton but1 = new JButton("1");
JButton but2 = new JButton("2");
JButton but3 = new JButton("3");
CellConstraints cc = new CellConstraints();
builder.add(but1, cc.xy(1, 1));
builder.add(but2, cc.xy(3, 1));
builder.add(but3, cc.xy(5, 1));
return builder.getPanel();
}
/**
* Construit la barre de menu principale
* @return m_barreMenu La barre de menu
*/
private JMenuBar buildMenuBar() {
m_barreMenu = new JMenuBar();
// Menu Fichier
m_fichier = new JMenu("Fichier");
m_file_quitter = new JMenuItem("Quitter");
m_file_quitter.addActionListener(this);
// Menu Edition
m_edition = new JMenu("Edition");
// Menu Affichage
m_affichage = new JMenu("Affichage");
m_aff_membres = new JMenuItem("Membres");
m_aff_membres.addActionListener(this);
m_aff_familles = new JMenuItem("Familles");
m_aff_familles.addActionListener(this);
m_fichier.add(m_file_quitter);
m_affichage.add(m_aff_membres);
m_affichage.add(m_aff_familles);
m_barreMenu.add(m_fichier);
m_barreMenu.add(m_edition);
m_barreMenu.add(m_affichage);
return m_barreMenu;
}
/**
* Construit la frame des sélections
*/
private void buildSelectionsFrame() {
// Boutons
m_membresButton = new JButton("Membres");
m_membresButton.addActionListener(this);
m_famillesButton = new JButton("Familles");
m_famillesButton.addActionListener(this);
// Box
m_selectionsBox = Box.createVerticalBox();
m_selectionsBox.setOpaque(false);
m_selectionsBox.add(m_membresButton);
m_selectionsBox.add(m_famillesButton);
// ScrollPane
JScrollPane selections = new JScrollPane(m_selectionsBox);
selections.setOpaque(false);
selections.getViewport().setOpaque(false);
selections.setViewportBorder(null);
m_selectionsFrame.setContent(selections);
}
/**
* Construit la frame des membres
*/
private void buildMembresFrame() {
...
}
/**
* Construit la frame des familles
*/
private void buildFamillesFrame() {
...
}
/**
* Consrtuit la barre d'états
*/
private void buildBarreEtat() {
m_barreEtat.setBackground(Color.WHITE);
m_barreEtat.add(new JLabel("Exécution en cours"));
}
/**
* Permet de quitter l'application
* @return Si la fenêtre doit être fermée ou pas
*/
private boolean quit() {
return true;
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == m_file_quitter) {
quit();
} else if (e.getSource() == m_membresButton) {
currentList = MEMBRES;
repaint();
} else if (e.getSource() == m_famillesButton) {
currentList = FAMILLES;
repaint();
}
} |