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 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
|
public class GlassListe implements MouseListener, ActionListener{
//declare les different panel
JPanel glass;
JPanel couleurFond;
JPanel rechercheFond;
JPanel liste;
JScrollPane texteAsc;
JButton fermer, suivant, precedent;
int y = 0;
static boolean afficher;
protected Bouton bout[];
static int nbrBouton = 201;
GridLayout disposition2;
int nbrRecette = LectureRecette.nbr_recette;
int Afficher = 1;
static int numRecette;
int icat = 1;
int nbrbouton = 200;
//declare les variables
private java.net.URL image2, image3;
//permet de rendre accessible les element de la class voirAccueil
voirAccueil parent;
GlassListe(voirAccueil parent) throws IOException
{
bout = new Bouton[201];
//insert uen image de fond
image2 = getClass().getResource("image/titreListe.png");
image3 = getClass().getResource("image/fermerFenetre2.png");
//cree le panel qui servira de GlassPane
glass = (JPanel)Accueil.cadre.getGlassPane();
//cree un panel pour rendre le fond de la GalssPane noir transparente
couleurFond = new JPanel();
//cree le panel et ajoute une image et les différent composant
rechercheFond = new JPanel();
liste = new JPanel();
fermer = new JButton(new ImageIcon(image3, null));
//cree les labels pour afficher les differente image
JLabel img2 = new JLabel( new ImageIcon(image2, null));
//Cree un label texte
JLabel texte = new JLabel("Pour ouvrir une recette cliquer dessu:");
suivant = new JButton("Suivant");
precedent = new JButton("Précédent");
//Ajoute la couleur de fond au panel
rechercheFond.setBackground(Color.white);
//configure le panneau liste
disposition2 = new GridLayout(nbrbouton,1);
liste.setLayout(disposition2);
texteAsc = new JScrollPane(liste);//aasocie la scrollBar au panel
texteAsc.getVerticalScrollBar().setUnitIncrement(20);//increment de ScrollBar de 5 pixels
JTextField entête = new JTextField("Nombre de recettes : ");//Cree l'entete
entête.setHorizontalAlignment(JTextField.CENTER);//centre l'entete
entête.setEditable(false);//rend l'entete non editable
texteAsc.setColumnHeaderView(entête); //rajoute un entête au panel
liste.setBackground(Color.WHITE);//met un fondce couleur
if(voirAccueil.Gliste == true){
Liste();
}if(GlassCategorie.Gcat == true){
ListeCat();
}
//met la couleur et la transparence au panel couleurFont
couleurFond.setBackground(new Color( 0,0,0,200));
//desactive le positionnement automatique
glass.setLayout(null);
couleurFond.setLayout(null);
rechercheFond.setLayout(null);
//met les different composant dnas le JPanel principal
rechercheFond.setBounds(100, 25, 700, 575);
rechercheFond.add(fermer).setBounds(675, 5, 20, 20);
rechercheFond.add(texteAsc).setBounds(20, 100, 660, 440);
rechercheFond.add(texte).setBounds(15, 70, 300, 25);
rechercheFond.add(suivant).setBounds(350, 550, 100, 20);
rechercheFond.add(precedent).setBounds(250, 550, 100, 20);
rechercheFond.add(img2).setBounds(318, 15, 63, 30);
couleurFond.add(rechercheFond);
//situe le panel couleurFont et lui donne une taille
glass.add(couleurFond).setBounds(0,0, 900, 650);
//rend la glassPane visible
glass.setVisible(true);
//modifie l'apparance des bouton pour arrondir le bouton, le rendre transparent et enlever la bordure
fermer.setFocusPainted(false);
fermer.setContentAreaFilled(false);
fermer.setBorderPainted(false);
//ajoute un listener au bouton
fermer.addMouseListener(this);
suivant.addActionListener(this);
precedent.addActionListener(this);
fermer.addActionListener(this);
bloquer();
}
private class Bouton extends JButton implements ActionListener {
private int nbr;
public Bouton(String libellé, int nbr) {
super(libellé);
this.nbr = nbr;
addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
System.out.println(nbr);
}
}
public void actionPerformed(ActionEvent evt)
{
//permet de savoir si une action c'est derouler sur le composant
Object source = evt.getSource();
if(source == suivant)
{
Afficher = Afficher + 200;
clic++;
System.out.println(Afficher);
bloquer();
if(GlassCategorie.Gcat == true){affiche2();}
}
}
void affiche2()
{
nbrbouton =0;
int o = 1;
int i = 1;
int p = 1;
while(i < nbrRecette)
{
if(LectureRecette.nom[i].equals(GlassCategorie.nomCat))
{
if(o > Afficher && o < (Afficher + 200))
{
System.out.println(i);
bout[p].setText("<html>-<u>"+LectureRecette.titre[i]+"</u></html>");
Font police2 = new Font("Time new romain", Font.BOLD, 12 );
bout[p].setFont(police2);
bout[p].revalidate();
bout[p].repaint();
p++;
nbrbouton++;
}
o++;
}
i++;
}
if(p < 200)
{
suivant.setEnabled(false);
suivant.revalidate();
while( p < 200)
{
bout[p].setText("");
bout[p].setEnabled(true);
bout[p].revalidate();
p++;
}
}
}
void ListeCat()
{
int o = 1;
while(icat < nbrRecette)
{
if(LectureRecette.nom[icat].equals(GlassCategorie.nomCat))
{
bout[o] = new Bouton("",icat);
bout[o].setText("<html>-<u>"+LectureRecette.titre[icat]+"</u></html>");
Font police2 = new Font("Time new romain", Font.BOLD, 12 );
bout[o].setFont(police2);
bout[o].setHorizontalTextPosition(SwingConstants.RIGHT);
liste.add(bout[o]);
bout[o].setFocusPainted(false);
bout[o].setContentAreaFilled(false);
bout[o].setBorderPainted(false);
bout[o].addMouseListener(this);
bout[o].addActionListener(this);
o++;
}
icat++;
if(o == 201){break;}
}
if(o < 200)
{
while (o < 201)
{
bout[o] = new Bouton("",icat);
bout[o].setText("");
Font police2 = new Font("Time new romain", Font.BOLD, 12 );
bout[o].setFont(police2);
bout[o].setHorizontalTextPosition(SwingConstants.RIGHT);
liste.add(bout[o]);
bout[o].setFocusPainted(false);
bout[o].setContentAreaFilled(false);
bout[o].setBorderPainted(false);
bout[o].setEnabled(true);
o++;
}
}
}
} |
Partager