350 600 Borderlayout Borderlayout

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

package PACK;

import javax.swing.* ;
import java.awt.*;
import java.awt.event.* ;

class FenetreDate extends JFrame


{
private DateVect dates1=new DateVect(),dates2=new DateVect();
private JButton Menu1[],Menu2[];
public Desktop desktop;
private final FenetreDate fen=this;

public FenetreDate () {
Desktop desktop = new Desktop();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(350, 600);
this.setResizable(false);
this.setLayout(new BorderLayout());
this.setLocationRelativeTo(null);
this.add(desktop, BorderLayout.CENTER);
this.add(desktop);
this.MenuVect(desktop);
this.MenuDate(desktop);
String[] choice = { "Operations sur les dates","Operation sur
les vecteurs"} ;
int rang = JOptionPane.showOptionDialog (this, "Choisissez le
menu", "BOITE DOPTIONS", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, Statics.icn2, choice, choice[1]) ;
if (rang==0)
{
desktop.getInternalFrameC().moveToFront();
validate();
}
else
{
desktop.getInternalFrameA().moveToFront();
validate();
}
}

private DateVect ChoixVect() {


String[] choice = { "Vecteur 2","Vecteur 1"} ;
int rang = JOptionPane.showOptionDialog (this, "Choisissez le
vecteur", "BOITE DOPTIONS", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, Statics.icn2, choice, choice[1]) ;
if (rang==0) return dates1;
else return dates2;
}
private JButton createButton(Icon p_jIcon, String p_strButtonText){
JButton jButton = new JButton();
jButton.setIcon(p_jIcon);
jButton.setIconTextGap(10);
jButton.setHorizontalAlignment(SwingConstants.LEFT);
jButton.setHorizontalTextPosition(SwingConstants.RIGHT);
jButton.setText(p_strButtonText);
Dimension jSize = new Dimension(300, 10);
jButton.setPreferredSize(jSize);
jButton.setMaximumSize(jSize);
jButton.setMinimumSize(jSize);
return jButton;
}
private void MenuVect(Desktop desktop) //Creation du menu pour la
gestion des vecteurs de dates
{
Menu1 = new JButton[Statics.NMenu1] ;
Menu1[0]=createButton(Statics.men1,"Remplir vecteur");
Menu1[1]=createButton(Statics.men2,"Afficher le vecteur");
Menu1[2]=createButton(Statics.men3,"Tri de vecteurs");
Menu1[3]=createButton(Statics.men4,"Fusion de vecteurs");
Menu1[4]=createButton(Statics.men5,"Appartient");
Menu1[5]=createButton(Statics.men6,"Vecteur Inclus");
Menu1[6]=createButton(Statics.men7,"Inserer");
Menu1[7]=createButton(Statics.men8,"Supprim");
Menu1[8]=createButton(Statics.men9,"Bisextile");
Menu1[9]=createButton(Statics.men10,"DateAfter");
Menu1[10]=createButton(Statics.men11,"DateBefore");
Menu1[11]=createButton(Statics.men12,"Tomorrow");
Menu1[12]=new JButton("Menu Principale");

ActionListener Men1=new ActionListener() { //ActionListner du


menu des vecteurs
@Override
public void actionPerformed(ActionEvent e) {

if (e.getSource() == Menu1[0]) //Si condition vrifie


remplissage du vecteur
{
DateVect choix;
int rep;
choix=ChoixVect();
setVisible(false);
do {
rep = JOptionPane.showConfirmDialog(null, "N: "
+(choix.getI()+1)+" Max: 50\n"+"Voulez-vous
continuer le remplissage alatoire",
"Saissie", JOptionPane.YES_NO_OPTION,1,
Statics.icn2 ) ;
if (rep==0){
choix.Saisir();
rep = JOptionPane.showConfirmDialog(null,
"N: "+(choix.getI()+1)+" Max: 50\n"+
"Voulez-vous continuer le remplissage
alatoire",
"Saissie", JOptionPane.YES_NO_OPTION
,1,Statics.icn2 ) ;
for (int i = 1; i <12 ; i++) {
Menu1[i].setVisible(true);

}
}
else rep=1;
}while (rep==0);
setVisible(true);

if (e.getSource() == Menu1[1]) //Si condition


vrifie: Affichage du vecteur
{
DateVect choix;
choix=ChoixVect();
choix.AffichVect(desktop);

if (e.getSource() == Menu1[2]) //Si condition


vrifie: Tri des vecteurs
{
DateVect choix;
choix=ChoixVect();
if (choix.TriDateVect()==-1) JOptionPane.
showMessageDialog(desktop.getInternalFrameA(),
"Tri impossible","Message davertissement",
JOptionPane.ERROR_MESSAGE,Statics.icn4);
else
{
choix.AffichVect(desktop);
}
}
if (e.getSource() == Menu1[3]) //Si condition
vrifie: Fusion des deux vecteurs
{
if (dates1.VideVect() && dates2.VideVect() )
JOptionPane.showMessageDialog(fen, "Vecteur vide",
"Message davertissement", JOptionPane.ERROR_MESSAGE
,Statics.icn3);
else{
if (dates1.isSorted() && dates2.isSorted()) {
String[] choice = {"Methode de classe",
"Methode d'instance"};
int rang = JOptionPane.showOptionDialog(fen
"Choisissez le vecteur de destination",
"BOITE DOPTIONS", JOptionPane.
YES_NO_CANCEL_OPTION, JOptionPane.
QUESTION_MESSAGE, Statics.icn2, choice,
choice[1]);
if (rang == 0) dates1.FusionDateVect(dates2
).AffichVect(desktop);
else DateVect.FusionDateVect(dates1, dates2
).AffichVect(desktop);
}
else JOptionPane.showMessageDialog(fen,
"Vecteurs non trie", "Message davertissement"
JOptionPane.ERROR_MESSAGE,Statics.icn3);

}
if (e.getSource() == Menu1[4]) //Si condition
vrifie: Appartenance d'une date donne
{
Date d=new Date();
DateVect choix;
choix=ChoixVect();
if (!choix.VideVect())
{
if (d.Saisir(fen)==0)
if (choix.Appartient(d)) {
JOptionPane.showMessageDialog(fen, "La
date appartient au vecteur", "Message
davertissement", JOptionPane.PLAIN_MESSAGE
,Statics.icn5);

}
else {
JOptionPane.showMessageDialog(fen, "La
date n'appartient pas", "Message
davertissement", JOptionPane.ERROR_MESSAGE
,Statics.icn4);
}

}
else JOptionPane.showMessageDialog(fen, "Vecteur
vide", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);
}
if (e.getSource() == Menu1[5]) //Si condition
vrifie: Inclusion d'un vecteur dans un autre
{

if (!dates1.VideVect() && !dates2.VideVect())


{
String[] choice = { "Vecteur 1 Vecteur 2 ",
"Vecteur 2 Vecteur 1"} ;
int rang = JOptionPane.showOptionDialog (fen,
"Choisissez le vecteur", "BOITE DOPTIONS",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.
QUESTION_MESSAGE, Statics.icn2, choice, choice[1
]) ;
if (rang==0)
{
if (dates1.Inclus(dates2)==0) {
JOptionPane.showMessageDialog(fen,
"Vecteur 1 Vecteur 2", "Message
davertissement", JOptionPane.
PLAIN_MESSAGE,Statics.icn5);

}
else {
JOptionPane.showMessageDialog(fen,
"Vecteur 1 Vecteur 2", "Message
davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn4);
}
}
else
{
if (dates2.Inclus(dates1)==0) {
JOptionPane.showMessageDialog(fen,
"Vecteur 2 Vecteur 1", "Message
davertissement", JOptionPane.
PLAIN_MESSAGE,Statics.icn5);
}
else {
JOptionPane.showMessageDialog(fen,
"Vecteur 2 Vecteur 1", "Message
davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn4);
}

}
else JOptionPane.showMessageDialog(fen, "Vecteur
vide", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);
}

if (e.getSource() == Menu1[6]) //Si condition


vrifie: Insertion d'une valeur dans un vecteur donne
{
DateVect choix;
int rep;
setVisible(false);

choix=ChoixVect();

if (choix.isSorted()) {
do {
if (choix.inserer(fen) == 0)
{

for (int i = 1; i <12 ; i++) {


Menu1[i].setVisible(true);

}
rep = JOptionPane.showConfirmDialog(null
, "voulez-vous continuer a inserer",
"Saissie", JOptionPane.
YES_NO_OPTION, 1, Statics.icn2);

else rep = 1;
} while (rep == 0);
}
else JOptionPane.showMessageDialog(fen, "Vecteur
non trie", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);
setVisible(true);

}
if (e.getSource() == Menu1[7]) //Si condition
vrifie: Supprimer une valeur dans un vecteur
{
Date d=new Date();
DateVect choix;
if (d.Saisir(fen)==0) {
choix=ChoixVect();
if (!choix.VideVect())
choix.supprimer(d);
else JOptionPane.showMessageDialog(fen,
Vecteur vide", "Message davertissement",
JOptionPane.ERROR_MESSAGE,Statics.icn3);

}
}

if (e.getSource() == Menu1[8]) //Si condition


vrifie: Extraire les dates bisextiles
{
DateVect choix;
choix=ChoixVect();
if (choix==dates1 && !dates1.VideVect()) dates2=
choix.Extrait();
else if (choix==dates2 && !dates2.VideVect())dates1=
choix.Extrait();
else JOptionPane.showMessageDialog(fen, "Vecteur
vide", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);

if (e.getSource() == Menu1[9]) //Si condition


vrifie: Afficher les dates apres un nombre donne de
jours
{
DateVect choix;
choix=ChoixVect();
if (!choix.VideVect()) {
if (choix.DateAfter(fen) == 0) {
choix.AffichVect(desktop);
}
}
else JOptionPane.showMessageDialog(fen, "Vecteur
vide", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);

if (e.getSource() == Menu1[10]) //Si condition


vrifie: Afficher les dates avant un nombre donne de
jours
{
DateVect choix;
choix=ChoixVect();
if (!choix.VideVect()) {
if (choix.DateBefore(fen) == 0) {
choix.AffichVect(desktop);
}
}
else JOptionPane.showMessageDialog(fen, "Vecteur
vide", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);

if (e.getSource() == Menu1[11]) //Si condition


vrifie: Afficher les dates du lendemain
{
DateVect choix;
choix=ChoixVect();
if (!choix.VideVect()) {
if (choix.Tomorrow() == 0) {
choix.AffichVect(desktop);
}
}
else JOptionPane.showMessageDialog(fen, "Vecteur
vide", "Message davertissement", JOptionPane.
ERROR_MESSAGE,Statics.icn3);

if (e.getSource()== Menu1[12]) // Si condition


vrifie: Retour au menu principale
{
setVisible(false);
String[] choice = { "Operations sur les dates",
"Operation sur les vecteurs"} ;
int rang = JOptionPane.showOptionDialog (fen,
"Choisissez le menu", "BOITE DOPTIONS",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.
QUESTION_MESSAGE, Statics.icn2, choice, choice[1]) ;
if (rang==0)
{
desktop.getInternalFrameC().moveToFront();
validate();
}
else
{
desktop.getInternalFrameA().moveToFront();
validate();

}
setVisible(true);
}

}
};

for (int i=0 ; i<Statics.NMenu1 ; i++)


{
if (i>=1 && i<=11 && i!=6) Menu1[i].setVisible(false);
Menu1[i].addActionListener(Men1);
desktop.getInternalFrameA().add(Menu1[i]);
}

}
private void MenuDate(Desktop desktop)
{
Menu2 = new JButton[Statics.NMenu2] ;
Menu2[0]=createButton(Statics.men4,"Saisir une date");
Menu2[1]=createButton(Statics.men2,"Afficher une date ");
Menu2[2]=createButton(Statics.men5,"Anne bissextile");
Menu2[3]=createButton(Statics.men1,"Inferieur");
Menu2[4]=createButton(Statics.men7,"Superieur");
Menu2[5]=createButton(Statics.men3,"Compare (STATIC)");
Menu2[6]=createButton(Statics.men3,"Compare (INSTANCE)");
Menu2[7]=createButton(Statics.men8,"Aujourd'hui");
Menu2[8]=createButton(Statics.men11,"Lendemain");
Menu2[9]=createButton(Statics.men10,"DateAfter");
Menu2[10]=createButton(Statics.men9,"DateBefore");
Menu2[11]=new JButton("Menu Principale");
ActionListener Men2=new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()== Menu2[11])
{
setVisible(false);
String[] choice = { "Operations sur les dates",
"Operation sur les vecteurs"} ;
int rang = JOptionPane.showOptionDialog (fen,
"Choisissez le menu", "BOITE DOPTIONS",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.
QUESTION_MESSAGE, Statics.icn2, choice, choice[1]) ;
if (rang==0)
{
desktop.getInternalFrameC().moveToFront();
validate();
}
else
{
desktop.getInternalFrameA().moveToFront();
validate();

}
setVisible(true);
}

if (e.getSource() == Menu2[0])
{
Date choix=new Date();
if (choix.Saisir(fen)==0)
{
JOptionPane.showMessageDialog(fen, "La date
est correcte", "Message davertissement",
JOptionPane.PLAIN_MESSAGE,Statics.icn5);
}

if (e.getSource() == Menu2[1])
{
Date choix=new Date();
if (choix.Saisir(fen)==0)
choix.Affiche(fen);

}
if (e.getSource() == Menu2[2])
{
Date choix=new Date();
if (choix.Saisir(fen)==0)
{
choix.Affiche(fen);
if (choix.anneeBisextile(choix.getAnne())) {
JOptionPane.showMessageDialog(fen, "L'anne
est bisextile", "Message davertissement",
JOptionPane.PLAIN_MESSAGE,Statics.icn5);
}
else JOptionPane.showMessageDialog(fen,
l'anne n'est pas bisextile", "Message
davertissement", JOptionPane.ERROR_MESSAGE,
Statics.icn4);
}
}
if (e.getSource() == Menu2[3])
{
Date choix1=new Date(),choix2=new Date();

if (choix1.Saisir(fen)==0 && choix2.Saisir(fen)==0)


if (choix1.Inferieur(choix2))
{
JOptionPane.showMessageDialog(fen, "Condition
vrifie", "Message davertissement",
JOptionPane.PLAIN_MESSAGE,Statics.icn5);
}
else JOptionPane.showMessageDialog(fen, "Condition
non vrifie", "Message davertissement",
JOptionPane.ERROR_MESSAGE,Statics.icn4);

}
if (e.getSource() == Menu2[4])
{
Date choix1=new Date(),choix2=new Date();
if (choix1.Saisir(fen)==0 && choix2.Saisir(fen)==0)
if (choix1.Superieur(choix2))
{
JOptionPane.showMessageDialog(fen, "Condition
vrifie", "Message davertissement",
JOptionPane.PLAIN_MESSAGE,Statics.icn5);
}
else JOptionPane.showMessageDialog(fen, "Condition
non vrifie", "Message davertissement",
JOptionPane.ERROR_MESSAGE,Statics.icn4);

You might also like