IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

effacer un JcomboBox


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut effacer un JcomboBox
    Bonjour,
    j'ai un petit soucis (évidement), je vais tacher d'être clair.

    Je réalise un programme.

    D'un coté j'ai un class qui affiche et mets en place la fenetre (avec les menus etc etc)et une zone texte au milieux.

    D'un autre une class nommé coeur qui réalise les actions qui se passent quand on choisi les menus de la fenetre...

    dans un menu un choix conduit à l'affichage de Jcombobox dans la zone text, le nombre de Jcombobox est variable.

    le problème est qu'une fois afficher je n'arrive plus à enlever ces Jcombobox qui reste afficher si j'effectue d'autre opérations...


    j'ai essayer de crée une action style "blanc" pour réinitialisé la fenetre mais je n'y arrive pas

    je penses qu'il faudrait que je mette le code mais ils est assez long, je vais voir ce qui est nécessaire à la compréhension du problème car j'ai l'impression de pas très être clair.

    Merci à vous

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    Effectivement ce n'est pas très clair... afficher dans JComboBox dans un zone de texte, je suis pas sûr de suivre.
    Donne des éléments plus concrets : précise ton objet zone de texte, montre le code d'ajout des comboBox à ta zone de texte, etc...

    A +
    Philippe.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    je pensais bien que j'étais pas très clair, d ailleur mes soucis doivent venir de la.

    voici le code de la fenetre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public class Fenetre extends JFrame {
    /**
             * 
             */
    	private static final long serialVersionUID = 1L;
    // déclaration de tous les composant de la fentre principale.
    	 JTextArea textArea;
    	 JMenuItem Mouvrir,Mquitter,Minfo,Mcalcalpha,Mafca;
    	 JScrollPane sp;
    	 Container cont;
    //Mise en place.
     
     
     
    //constructeur	
    public Fenetre() {
    		 super("Projet BNF105");
     
    		 Coeur Gestevt = new Coeur(this);
    		 textArea=new JTextArea();
    		 textArea.setBackground(Color.white);
    	     textArea.setForeground(Color.black);
    	     JMenuBar barre = new JMenuBar(); //la barre menu
     
    	 	// Menu Fichier
    	 	 JMenu MFichier= new JMenu("Fichier");
     
    	 	 Mouvrir=new JMenuItem("Ouvrir...");
    	 	 Mouvrir.setMnemonic('O');
    		 Mouvrir.addActionListener(Gestevt);
    	 	 MFichier.add(Mouvrir);
     
    	 	 Minfo=new JMenuItem("Information");
    	 	 Minfo.setMnemonic('I');
    	 	 Minfo.addActionListener(Gestevt);
    	 	 MFichier.add(Minfo);
     
     
    	 	 MFichier.addSeparator();//séparateur
    	 	 Mquitter=new JMenuItem("Quitter");
    	 	 Mquitter.setMnemonic('Q');
    	 	 Mquitter.addActionListener(Gestevt);
    	 	 MFichier.add(Mquitter);	 
    	 	 barre.add(MFichier);
     
    	 	 //Menu Carbone alpha
    	 	 JMenu MCarbone= new JMenu("Carbone Alpha");
    	 	 Mcalcalpha=new JMenuItem("Calcul...");
    	 	 Mcalcalpha.setMnemonic('c');	 	
    	 	 Mcalcalpha.addActionListener(Gestevt);
    	 	 MCarbone.add(Mcalcalpha);
    	 	 Mafca=new JMenuItem ("Af. tous les CA");
    	 	 Mafca.setMnemonic('a');
    	 	 Mafca.addActionListener(Gestevt);
    	 	 MCarbone.add(Mafca);
     
    	 	 barre.add(MCarbone);
     
     
    	 	 setJMenuBar(barre); 
     
    	 	  sp=new JScrollPane(textArea);
     
    	 	 cont=getContentPane();
    	 	 cont.setLayout(new BorderLayout());
    	 	 cont.add("Center",sp);
     
    	 	 setSize(800,600);
    	 	 setLocation(200,100);
    	 	 show();	//depreci 
     
    	  }
    	 //fin mise en place
     
    	public static void main(String[] args) {
    		Fenetre app= new Fenetre();
     
    	     app.setDefaultCloseOperation(EXIT_ON_CLOSE); 	
    	}
     
    }

    puis voici le code du coeur qui doit s'executer quand on choisi le menu calcul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public class Coeur implements ActionListener  { 
             Fenetre parent; // fait ref a la fenetre
    	// il faut definir une var qui stockera une ref à l'instance de Fenetre
    	Coeur (Fenetre parent) {this.parent=parent;}
    [..]
      private void getCa (String fichier){
    	
    	try {
    		File dataFile = new File(fichier);
    	       InputStream ips = new FileInputStream(dataFile);
    	       InputStreamReader ipsr = new InputStreamReader(ips);
    	       BufferedReader br = new BufferedReader(ipsr);
    	       String ligne;
    	        nbr=0;
    	       int nbrM=0;
    	       Vector<String> LigneCa=new Vector<String>();
    	    	
    	    	Vector<Integer> CaM=new Vector<Integer>(); 
    		       while ((ligne = br.readLine()) != null) {
    		 
    		// recuperation de la ligne courante
    		          
    		          String token = "CA";
    		          String DebutLigne = "ATOM";		         
    		          String Debut="TER";
    		          
    		          //recup du nombre de CA
    		          if (ligne.startsWith(DebutLigne)) {		          
    		            StringTokenizer st=new StringTokenizer(ligne," ");		             		           
    		             while(st.hasMoreTokens())		            	
    		            	 if (token.equals(st.nextToken())){  		 
    		          		     LigneCa.addElement(ligne);       	
    		            		 nbr=nbr+1;
    		            	 }//fin 2eme if
    		             }// fin 1er if 
    		          //fin  de recup Nbca
    		          if (ligne.startsWith(Debut)) {		          	        	 
    		        	  CaM.addElement(nbr);		        	  		        	
    		        	  	nbrM=nbrM+1;		        	  	
    		        	  	nbr=0;
    			          } // fin du if
    		          		       
    		       } // fin de la recuperation
    
       if (CaM.size()==0)
    		       	{parent.textArea.append("Il y a "+CaM.elementAt(0)+"CA sur une seule chaine");}
    		       else { 	
    		    	   int deb=0;
    		    	   int fin=0;
    		    	   int pCom=50;
    
    [la je commence a mettre les JcomboBox
     for (int i=0;i<CaM.size();i++)
    		    	  { int pos=CaM.elementAt(i);
    		    	   fin=fin+pos;
    		    	  
    		    	   parent.textArea.append ("Liste des CA de la chaine "+(i+1)+" :"+ (char) '\n'+ (char) '\n'+ (char) '\n');
    		    	   Vector<String> Nv= new Vector<String>();
    		    	   
    		    	   for (int j=deb;j<fin;j++)
    		    	  		{
     Nv.addElement(LigneCa.elementAt(j));
    }
    		    	   JComboBox Jcom = new JComboBox(Nv);
    		    	   Jcom.setMaximumRowCount(8);
    		    	   Jcom.setBounds(10,pCom,400,20);
    		    	  
    		    	  	parent.textArea.add(Jcom);
    		    	  	deb=deb+pos; 
    		    	  	pCom=pCom+50; 
    		    	  } 
    		       } //fin du else
    		   
    	 	        br.close();
    		    } //fin du try
    	catch (Exception e) {
    		       System.out.println(e.toString());
    		    } // fin du catch		
    } //getCa
    
    
    [...]
    
    // gestion des evenemets
    public void actionPerformed(ActionEvent e) {
    	
    		Object sourceE = e.getSource(); //recupere la source de l'evt
    		
    		 if (sourceE == parent.Mouvrir)
    		 	ouvrirFichier();		 
        	 if (sourceE == parent.Mquitter)
                 System.exit(0);
        	 if (sourceE == parent.Minfo )			
    			information();
        	 if (sourceE == parent.Mcalcalpha )
        		 calculalpha();
        	 if (sourceE == parent.Mafca )
        		 afficheca();
    	}
    }

    voila donc cela va, quand je choisi le menu paf il m'affiche bien le texte et le JcomboBox, par contre si lorsqu'on a fait cela on veut revenir au menu information par exemple, les JcomboBox restent affichés....

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    En simplfiant le probleme,

    j'aimerais savoir comment "réinitialisé" un JTextArea. J'espère être plus clair.

Discussions similaires

  1. Couleur d'une JComboBox disabled
    Par ced dans le forum Composants
    Réponses: 6
    Dernier message: 06/01/2004, 15h33
  2. [VBA-E] [Excel] Effacer une feuille
    Par Tray dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/01/2003, 10h04
  3. [VB6] Ecrire/Modifier/Effacer ds un fichier text-4 Chs/Lg
    Par Jonathan_Korvitch dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 24/12/2002, 18h54
  4. Comment effacer des Items d'un TListView ?
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/11/2002, 10h19
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo