[Java - Mysql] JComboBox imbriquées - données venant de Bd access

JComboBox imbriquées - données venant de Bd access [Java - Mysql] - Java - Programmation

Marsh Posté le 09-05-2008 à 16:20:15    

Hello,
 
voilà pour mon projet de fin d'études j'ai comme énoncé :  
 

Code :
  1. permettre la suppression d’une installation d’un software ayant été
  2. pré-installé sur un type de PC choisi par l’utilisateur. La liste des types de PC
  3. existants dans la BD doit être proposée à l’utilisateur afin qu’il puisse en
  4. choisir un. Après avoir choisi le type de PC, l’utilisateur devra pouvoir d'abord
  5. visualiser la liste de toutes les installations de softwares préinstallés sur ce
  6. type de PC. Affichez dans cette liste au minimum la date d’installation, le code du software
  7. installé et le code du responsable réseau. L'utilisateur devra encoder
  8. alors l’identifiant de l'installation qu'il veut supprimer puis
  9. confirmer la suppression.


 
Pour ce faire j'ai prévu 3 JPanel - le premier qui permettra de sélectionner par l'intermédiaire d'une JComboBox le type de PC. Le deuxième panel permettra de sélectionner le programme qu'il faut supprimer sur le type de PC sélectionné.
 
Et le 3 eme panel les boutons d'actions.
 
Donc il apparaît clairement que le choix dans la deuxième JComboBox dépend de ce qui est choisi dans la première. Autrement dit, elles sont imbriquées.
 
Je sais sans problème remplir la première combobox (celle du choix de type de PC) par contre, je ne sais pas comment faire pour que soit affichée dans la secondes combobox uniquement les software installés sur le type de pc choisi.
 
Voici en image la structure de la base de données access.
 
http://users.skynet.be/fa230513/table.jpg
 
D'avance merci ;)
 
J'oubliais le code que j'ai actuellement déjà. (Je travaille sous Eclipse)
 

Code :
  1. package pkg1;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import java.sql.*;
  6. import java.util.Vector;
  7. public class Suppression extends JPanel{
  8. private Intro fenSup;
  9. private JPanel panChxTypePC, panChxSoft, panChxButton;
  10. private JLabel labTypePC, labChxSoft;
  11. private JComboBox chxPC, chxSoft;
  12. public Suppression(Intro fenSup){
  13.  this.fenSup = fenSup;
  14.  fenSup.setTitle("Suppression d'une installation" );
  15.  this.setLayout(null);
  16.  this.setBounds(0,0,700,500);
  17.  panChxTypePC = new JPanel();
  18.  panChxTypePC.setLayout(null);
  19.  panChxTypePC.setBounds(10,10,675,50);
  20.  panChxTypePC.setBackground(Color.red);
  21.  labTypePC = new JLabel("Sélectionner le type de PC : " );
  22.  panChxTypePC.add(labTypePC);
  23.  labTypePC.setBounds(5,5,200,15);
  24.  chxPC = new JComboBox();
  25.  chxPC.setBounds(5,25,600,20);
  26.  panChxTypePC.add(chxPC);
  27.  //Listing choix de type de pc à partir de la BDD
  28.  try{
  29.   Vector listeTypePc = AccesGen.creerVecteur1Colonne(Connexion.getConnec(), "SELECT DescrTypePc FROM TypePc" );
  30.   chxPC.removeAllItems();
  31.   chxPC.addItem(" * Liste des ordinateurs * " );
  32.   for(int i=0;i<listeTypePc.size();i++)
  33.    chxPC.addItem((String)(listeTypePc.elementAt(i)));
  34.     }
  35.     catch (SQLException e1){
  36.         JOptionPane.showMessageDialog(null, e1, "Erreur de listage des types d'ordinateurs", JOptionPane.ERROR_MESSAGE);
  37.     }
  38.  
  39.  panChxSoft = new JPanel();
  40.  panChxSoft.setLayout(null);
  41.  panChxSoft.setBounds(10,70,675,50);
  42.  panChxSoft.setBackground(Color.GREEN);
  43.  labChxSoft = new JLabel("Sélectionner le software" );
  44.  panChxSoft.add(labChxSoft);
  45.  labChxSoft.setBounds(5,5,200,15);
  46.  chxSoft = new JComboBox();
  47.  chxSoft.setBounds(5,25,600,20);
  48.  panChxSoft.add(chxSoft);
  49.  //Listing choix de type de pc à partir de la BDD
  50.  try{
  51.   Vector listeSoft = AccesGen.creerVecteur1Colonne(Connexion.getConnec(), "SELECT SoftName FROM Software" );
  52.   Vector listeSoftResp = AccesGen.creerVecteur1Colonne(Connexion.getConnec(), "SELECT CodeResp FROM RespReseau" );
  53.   //Vector vecteurSoftVer = AccesGen.creerVecteur1Colonne(Connexion.getConnec(), "SELECT SoftVersion FROM Software" );
  54.   chxSoft.removeAllItems();
  55.   chxSoft.addItem(" * Liste des Logiciels * " );
  56.   for(int i=0;i<listeSoftResp.size();i++)
  57.    chxSoft.addItem((String)(listeSoft.elementAt(i)) + " - " + (listeSoftResp.elementAt(i)));
  58.     }
  59.     catch (SQLException e1){
  60.         JOptionPane.showMessageDialog(null, e1, "Problème de Listage des logiciels", JOptionPane.ERROR_MESSAGE);
  61.     }
  62.  fenSup.add(panChxTypePC);
  63.  fenSup.add(panChxSoft);
  64. }
  65. }

Reply

Marsh Posté le 09-05-2008 à 16:20:15   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed