Grosse MàJ

This commit is contained in:
olivier
2008-11-25 22:11:16 +01:00
parent 53195fdfcd
commit 3e719157ea
2980 changed files with 343846 additions and 0 deletions

Binary file not shown.

Binary file not shown.

BIN
P51/ihm/IHMConnexion.class Normal file

Binary file not shown.

211
P51/ihm/IHMConnexion.java Normal file
View File

@ -0,0 +1,211 @@
package fr.blankoworld.ihm;
import fr.blankoworld.connexionBDD.Connexion;
import fr.blankoworld.ihm.IHMPrincipale;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
* @author 3dossmanno
*/
public class IHMConnexion extends JFrame {
private static final long serialVersionUID = 1L;
// Donnees privees
// Creation des champs textes
private JTextField jtextServeur;
private JTextField jtextPort;
private JTextField jtextBase;
private JTextField jtextIdentifiant;
private JPasswordField jtextMdp;
private JButton jOk;
// Creation d'un principal, pour utiliser ses methodes
private IHMPrincipale pr;
// Creation de la classe permettant la connexion a la base de donnees
private Connexion connexionToBdd;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
/**
* <h3>IHMConnexion</h3>
* <p>Interface graphique pour se connecter a une base de donnees.<br />
* Demande en parametre une IHMPrincipale, de type IHMPrincipale, et 5 parametres : Le serveur, le port, la base de donnees, l'identifiant
* et le mot de passe par defaut.</p>
* <p>Retourne en contrepartie un objet Connexion qui a tout les parametres de l'utilisateur et qui permet de se connecter.</p>
* <p>L'objet Connexion provient du paquet fr.blankoworld.connexionBDD.Connexion</p>
*/
public IHMConnexion(IHMPrincipale pr, String defaultServer, String defaultPort, String defaultDatabase, String defaultLogin, String defaultMdp) {
this.pr = pr;
connexionToBdd = new Connexion(defaultServer, defaultPort, defaultDatabase, defaultLogin, defaultMdp);
// Creation des etiquettes
JLabel jlabelServeur = new JLabel(" Serveur: ");
JLabel jlabelPort = new JLabel(" Port: ");
JLabel jlabelBase = new JLabel(" Base de donnees: ");
JLabel jlabelIdentifiant = new JLabel(" Identifiant: ");
JLabel jlabelMdp = new JLabel(" Mot de passe: ");
// Creation des champs textes
jtextServeur = new JTextField(connexionToBdd.getServer());
jtextPort = new JTextField(connexionToBdd.getPort());
jtextBase = new JTextField(connexionToBdd.getDatabase());
jtextIdentifiant = new JTextField(connexionToBdd.getLogin());
jtextMdp = new JPasswordField(connexionToBdd.getPassword());
jtextMdp.setEchoChar('*');
// Creation des boutons
jOk = new JButton("OK");
JButton jAnnuler = new JButton("Annuler");
//** Creation des panneaux **//
// Panneau au centre
JPanel Panneau_Centre = new JPanel();
Panneau_Centre.setLayout(new GridLayout(1,2));
// Donner un titre a notre panneau
//Panneau_Centre.setBorder(BorderFactory.createTitledBorder("Salut"));
// Panneau a gauche du panneau centre
JPanel Panneau_Centre_Gauche = new JPanel();
Panneau_Centre_Gauche.setLayout(new GridLayout(5,1));
// Panneau a droite du panneau centre
JPanel Panneau_Centre_Droite = new JPanel();
Panneau_Centre_Droite.setLayout(new GridLayout(5,1));
// Panneau en bas
JPanel Panneau_Bas = new JPanel();
// Ajout des etiquettes au panneau centre a gauche
Panneau_Centre_Gauche.add(jlabelServeur);
Panneau_Centre_Gauche.add(jlabelBase);
Panneau_Centre_Gauche.add(jlabelPort);
Panneau_Centre_Gauche.add(jlabelBase);
Panneau_Centre_Gauche.add(jlabelIdentifiant);
Panneau_Centre_Gauche.add(jlabelMdp);
// Ajout des champs textes au panneau centre droit
Panneau_Centre_Droite.add(jtextServeur);
Panneau_Centre_Droite.add(jtextBase);
Panneau_Centre_Droite.add(jtextPort);
Panneau_Centre_Droite.add(jtextBase);
Panneau_Centre_Droite.add(jtextIdentifiant);
Panneau_Centre_Droite.add(jtextMdp);
// Ajout des boutons au panneau bas
Panneau_Bas.add(jOk);
Panneau_Bas.add(jAnnuler);
// Ajout des panneaux droits et gauche au panneau centre
Panneau_Centre.add(Panneau_Centre_Gauche);
Panneau_Centre.add(Panneau_Centre_Droite);
// Ajout des panneaux a la fenetre
this.getContentPane().setLayout(new BorderLayout());
this.add(Panneau_Centre, BorderLayout.CENTER);
this.add(Panneau_Bas, BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(350,200);
this.setLocation(200,200);
this.setResizable(false);
this.setTitle("Connexion a une base de donnees");
// ********************************************** //
jOk.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
valider();
}
});
jAnnuler.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
annuler();
}
});
}
private void valider(){
String message;
int resultatConfirmation;
// Recuperation des valeurs entrees dans les champs textes
message = "La connexion va etre etablie, les valeurs suivantes sont - elles exactes ? : \n\n";
message += "Serveur : " + this.jtextServeur.getText() + "\n";
message += "Port : " + this.jtextPort.getText() + "\n";
message += "Base de donnees : " + this.jtextBase.getText() + "\n";
message += "Identifiant : " + this.jtextIdentifiant.getText() + "\n";
message += "Mot de passe (crypte) : " + this.jtextMdp.getPassword().toString() + "\n";
// Affichage du message de confirmation
resultatConfirmation = JOptionPane.showConfirmDialog(this, message, "Confirmation", JOptionPane.YES_NO_OPTION);
// Nous confirmons ou pas ?
if(resultatConfirmation == 0){
String rose = new String(this.jtextMdp.getPassword());
// Si oui nous enregistrons les valeurs dans notre objet connexion
connexionToBdd.setServer(this.jtextServeur.getText());
connexionToBdd.setPort(this.jtextPort.getText());
connexionToBdd.setDatabase(this.jtextBase.getText());
connexionToBdd.setLogin(this.jtextIdentifiant.getText());
connexionToBdd.setPassword(rose);
// Puis nous recuperons la main et affichons a nouveau la fenetre principale en lui passant l'objet de connexion
this.dispose();
this.pr.setVisible(true);
this.pr.confirmationConnexion(connexionToBdd);
this.invalidate();
}
else{
// Sinon aucun traitement n'est effectue
}
}
private void annuler(){
this.dispose();
}
public void driverExist(){
// On verifie la presence du pilote JDBC, et de sa fonctionnalite
if(Integer.parseInt(connexionToBdd.driverPresent()[0]) == 1){
// Si pilote non present on desactive le bouton ok et autres boutons attaches
this.jtextServeur.setEnabled(false);
this.jtextPort.setEnabled(false);
this.jtextBase.setEnabled(false);
this.jtextIdentifiant.setEnabled(false);
this.jtextMdp.setEnabled(false);
this.jOk.setEnabled(false);
JOptionPane.showMessageDialog(this, "Pilote introuvable ou non fonctionnel.", "Avertissement", JOptionPane.ERROR_MESSAGE);
}
else{
JOptionPane.showMessageDialog(this, "Pilote trouve.", "Information", JOptionPane.INFORMATION_MESSAGE);
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
P51/ihm/IHMPrincipale.class Normal file

Binary file not shown.

234
P51/ihm/IHMPrincipale.java Normal file
View File

@ -0,0 +1,234 @@
package fr.blankoworld.ihm;
// Importations automatiques
import fr.blankoworld.connexionBDD.Connexion;
import fr.blankoworld.ihm.IHMConnexion;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.BevelBorder;
/**
* @author 3dossmanno
*/
public class IHMPrincipale extends JFrame {
private static final long serialVersionUID = 1L;
private JTextArea zoneTexteStatut;
private IHMConnexion conn;
private Connexion objetConnexion;
private JMenuItem MenuBdd_Connexion;
private JMenuItem MenuBdd_Fermer;
private boolean connecte = false;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new IHMPrincipale().setVisible(true);
}
private IHMPrincipale() {
// Creation du menu Base de donnees
JMenu MenuBdd = new JMenu("Base de donnees");
MenuBdd_Connexion = new JMenuItem("Connexion");
MenuBdd_Fermer = new JMenuItem("Fermer");
MenuBdd_Fermer.setEnabled(false);
JMenuItem MenuBdd_Quitter = new JMenuItem("Quitter");
MenuBdd.add(MenuBdd_Connexion);
MenuBdd.add(MenuBdd_Fermer);
MenuBdd.addSeparator();
MenuBdd.add(MenuBdd_Quitter);
// Creation du menu Aide
JMenu MenuAide = new JMenu("Aide");
JMenuItem MenuAide_Apropos = new JMenuItem("A propos");
MenuAide.add(MenuAide_Apropos);
// Creation de la barre de menus
JMenuBar MenuPrincipal = new JMenuBar();
MenuPrincipal.add(MenuBdd);
MenuPrincipal.add(MenuAide);
//** Modification de la zone de texte
zoneTexteStatut = new JTextArea(6,60);
zoneTexteStatut.setEditable(false);
zoneTexteStatut.setBorder(new BevelBorder(BevelBorder.LOWERED));
//** Creation des panneaux **//
// Panneau au centre
JPanel Panneau_Centre = new JPanel();
Panneau_Centre.setBorder(BorderFactory.createTitledBorder("Resultat des requetes"));
// Panneau en bas
JPanel Panneau_Bas = new JPanel();
Panneau_Bas.setBorder(BorderFactory.createTitledBorder("Statut"));
// Ajout des boutons et zones de texte au panneau bas
Panneau_Bas.add(zoneTexteStatut);
// Ajout des panneaux a la fenetre
this.getContentPane().setLayout(new BorderLayout());
this.add(Panneau_Centre, BorderLayout.CENTER);
this.add(Panneau_Bas, BorderLayout.SOUTH);
this.add(MenuPrincipal, BorderLayout.NORTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(700,300);
this.setLocation(200,200);
this.setResizable(false);
this.setTitle("SQLNavigator v0.1");
// ***************************************************** //
// Creation des fenetres secondaires //
// ***************************************************** //
conn = new IHMConnexion(this, "grive.u-strasbg.fr", "1521", "v920", "dut", "dut");
conn.setLocation(400,350);
// ***************************************************** //
// menu Jeu - bouton Nouveau
MenuBdd_Connexion.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuBddConnexion();
}
});
MenuBdd_Fermer.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuBddFermer();
}
});
// menu Jeu - bouton Quitter
MenuBdd_Quitter.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuBddQuitter();
}
});
// menu Apropos - bouton
MenuAide_Apropos.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuApropos();
}
});
}
private void menuBddConnexion(){
// Affichage de la fenetre de connexion
conn.setVisible(true);
conn.driverExist();
// Mise en place d'une ecoute sur la fenetre
conn.addWindowListener(new WindowListener(){
public void windowActivated(WindowEvent ev){
}
public void windowClosed(WindowEvent ev){
}
public void windowClosing(WindowEvent ev){
conn.dispose();
}
public void windowDeactivated(WindowEvent ev){
}
public void windowDeiconified(WindowEvent ev){
}
public void windowIconified(WindowEvent ev){
}
public void windowOpened(WindowEvent ev){
}
});
}
public void confirmationConnexion(Connexion objetConnexion){
String[] resultatConnexion;
this.objetConnexion = objetConnexion;
resultatConnexion = new String[2];
resultatConnexion = this.objetConnexion.connect();
this.zoneTexteStatut.setText(resultatConnexion[1]);
if(Integer.parseInt(resultatConnexion[0]) == 0){
this.MenuBdd_Connexion.setEnabled(false);
this.MenuBdd_Fermer.setEnabled(true);
this.connecte = true;
}
}
private void menuBddFermer(){
String[] resultatFermeture;
resultatFermeture = new String[2];
resultatFermeture = this.objetConnexion.disconnect();
if(Integer.parseInt(resultatFermeture[0]) == 0){
this.MenuBdd_Fermer.setEnabled(false);
this.MenuBdd_Connexion.setEnabled(true);
this.zoneTexteStatut.setText("Base de donnees fermee: " + resultatFermeture[1]);
}
else{
this.zoneTexteStatut.setText("Impossible de fermer la base de donnees : " + resultatFermeture[1]);
}
}
private void menuBddQuitter(){
String[] resultatFermeture;
// On verifie si une connexion a une BDD est en cours
// - Si oui, on ferme d'abord la connexion
if(this.connecte){
resultatFermeture = new String[2];
resultatFermeture = this.objetConnexion.disconnect();
if(Integer.parseInt(resultatFermeture[0]) == 0){
System.exit(0);
}
else{
this.zoneTexteStatut.setText("Impossible de fermer la base de donnees : " + resultatFermeture[1]);
}
}
// - Si non, alors on peut quitter de suite
else{
System.exit(0);
}
}
/**
* <p>Action du bouton Apropos du menu Aide</p>
* @param args
*/
private void menuApropos(){
JOptionPane.showMessageDialog(null, "SQLNavigator\n\n" +
"Version 0.1\n" +
"Developpe par Olivier DOSSMANN\n\n",
"A propos de SQLNavigator",
JOptionPane.QUESTION_MESSAGE);
}
}

216
P51/ihm/IHMPrincipale.java~ Normal file
View File

@ -0,0 +1,216 @@
package fr.blankoworld.ihm;
// Importations automatiques
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.border.BevelBorder;
// Import personnel
import fr.blankoworld.ihm.IHMConnexion;
import fr.blankoworld.connexionBDD.Connexion;
public class IHMPrincipale extends JFrame {
private static final long serialVersionUID = 1L;
private JTextArea zoneTexteStatut;
private IHMConnexion conn;
private Connexion objetConnexion;
private JMenuItem MenuBdd_Connexion;
private JMenuItem MenuBdd_Fermer;
private boolean connecte = false;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new IHMPrincipale().setVisible(true);
}
private IHMPrincipale() {
// Creation du menu Base de donnees
JMenu MenuBdd = new JMenu("Base de donnees");
MenuBdd_Connexion = new JMenuItem("Connexion");
MenuBdd_Fermer = new JMenuItem("Fermer");
MenuBdd_Fermer.setEnabled(false);
JMenuItem MenuBdd_Quitter = new JMenuItem("Quitter");
MenuBdd.add(MenuBdd_Connexion);
MenuBdd.add(MenuBdd_Fermer);
MenuBdd.addSeparator();
MenuBdd.add(MenuBdd_Quitter);
// Creation du menu Aide
JMenu MenuAide = new JMenu("Aide");
JMenuItem MenuAide_Apropos = new JMenuItem("A propos");
MenuAide.add(MenuAide_Apropos);
// Creation de la barre de menus
JMenuBar MenuPrincipal = new JMenuBar();
MenuPrincipal.add(MenuBdd);
MenuPrincipal.add(MenuAide);
//** Modification de la zone de texte
zoneTexteStatut = new JTextArea(6,60);
zoneTexteStatut.setEditable(false);
zoneTexteStatut.setBorder(new BevelBorder(BevelBorder.LOWERED));
//** Creation des panneaux **//
// Panneau au centre
JPanel Panneau_Centre = new JPanel();
Panneau_Centre.setBorder(BorderFactory.createTitledBorder("Resultat des requetes"));
// Panneau en bas
JPanel Panneau_Bas = new JPanel();
Panneau_Bas.setBorder(BorderFactory.createTitledBorder("Statut"));
// Ajout des boutons et zones de texte au panneau bas
Panneau_Bas.add(zoneTexteStatut);
// Ajout des panneaux a la fenetre
this.getContentPane().setLayout(new BorderLayout());
this.add(Panneau_Centre, BorderLayout.CENTER);
this.add(Panneau_Bas, BorderLayout.SOUTH);
this.add(MenuPrincipal, BorderLayout.NORTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(700,300);
this.setLocation(200,200);
this.setResizable(false);
this.setTitle("SQLNavigator v0.1");
// ***************************************************** //
// Creation des fenetres secondaires //
// ***************************************************** //
conn = new IHMConnexion(this, "grive", "1521", "v920", "dut", "dut");
conn.setLocation(400,350);
// ***************************************************** //
// menu Jeu - bouton Nouveau
MenuBdd_Connexion.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuBddConnexion();
}
});
// menu Jeu - bouton Quitter
MenuBdd_Quitter.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuBddQuitter();
}
});
// menu Apropos - bouton
MenuAide_Apropos.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
menuApropos();
}
});
}
private void menuBddConnexion(){
// Affichage de la fenetre de connexion
conn.setVisible(true);
// Mise en place d'une ecoute sur la fenetre
conn.addWindowListener(new WindowListener(){
public void windowActivated(WindowEvent ev){
}
public void windowClosed(WindowEvent ev){
}
public void windowClosing(WindowEvent ev){
conn.dispose();
}
public void windowDeactivated(WindowEvent ev){
}
public void windowDeiconified(WindowEvent ev){
}
public void windowIconified(WindowEvent ev){
}
public void windowOpened(WindowEvent ev){
}
});
}
public void confirmationConnexion(Connexion objetConnexion){
String[] resultatConnexion;
this.objetConnexion = objetConnexion;
resultatConnexion = new String[2];
resultatConnexion = this.objetConnexion.connect();
this.zoneTexteStatut.setText(resultatConnexion[1]);
if(Integer.parseInt(resultatConnexion[0]) == 0){
this.MenuBdd_Connexion.setEnabled(false);
this.MenuBdd_Fermer.setEnabled(true);
this.connecte = true;
}
}
private void menuBddQuitter(){
String[] resultatFermeture;
// On verifie si une connexion a une BDD est en cours
// - Si oui, on ferme d'abord la connexion
if(this.connecte){
resultatFermeture = new String[2];
resultatFermeture = this.objetConnexion.disconnect();
if(Integer.parseInt(resultatFermeture[0]) == 0){
this.MenuBdd_Fermer.setEnabled(false);
this.MenuBdd_Connexion.setEnabled(true);
System.exit(0);
}
else{
this.zoneTexteStatut.setText("Impossible de fermer la base de donnees : " + resultatFermeture[1]);
}
}
// - Si non, alors on peut quitter de suite
else{
System.exit(0);
}
}
/**
* <p>Action du bouton Apropos du menu Aide</p>
* @param args
*/
private void menuApropos(){
JOptionPane.showMessageDialog(null, "SQLNavigator\n\n" +
"Version 0.1\n" +
"Developpe par Olivier DOSSMANN\n\n",
"A propos de SQLNavigator",
JOptionPane.QUESTION_MESSAGE);
}
}

BIN
P51/ihm/IHMRequete.class Normal file

Binary file not shown.

70
P51/ihm/IHMRequete.java Normal file
View File

@ -0,0 +1,70 @@
package fr.blankoworld.ihm;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class IHMRequete extends JFrame {
// Requis par la classe JFrame (ne pas demander pourquoi)
private static final long serialVersionUID = 1L;
// Creation de la zone de texte
private JTextPane panneauTexte;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new IHMRequete().setVisible(true);
}
public IHMRequete(){
// Creation d'une etiquette
JLabel jRequete = new JLabel("Entrez votre requete : ");
// Creation des boutons
JButton jOk = new JButton("Ok");
JButton jAnnuler = new JButton("Annuler");
// Creation de la zone de texte
panneauTexte = new JTextPane();
panneauTexte.setCaretPosition(0);
panneauTexte.setMargin(new Insets(5,5,5,5));
JScrollPane zoneTexteRequete = new JScrollPane(panneauTexte);
zoneTexteRequete.setPreferredSize(new Dimension(200, 130));
// Creation des panneaux bas et centre
JPanel Panneau_Bas = new JPanel();
JPanel Panneau_Centre = new JPanel();
Panneau_Centre.setLayout(new BorderLayout());
// Ajout des boutons a chacun des panneaux
Panneau_Centre.add(jRequete, BorderLayout.NORTH);
Panneau_Centre.add(zoneTexteRequete, BorderLayout.CENTER);
Panneau_Bas.add(jOk);
Panneau_Bas.add(jAnnuler);
// Gestionnaire de contenus
this.getContentPane().setLayout(new BorderLayout());
this.add(Panneau_Centre, BorderLayout.CENTER);
this.add(Panneau_Bas, BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,200);
this.setLocation(200,200);
this.setResizable(false);
this.setTitle("Requete");
}
}