Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1182 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème JDesktopPane, JInternalFrame

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème JDesktopPane, JInternalFrame

n°1800063
DRAGCHM
Posté le 14-10-2008 à 16:18:55  profilanswer
 

Salut tout le monde voila mon problème j’ai crée un jFrame ou j’affiche plusieurs JInternalFrame dans l’une de JInternalFrame (J1) j’ai crée un jbutton, quant je click sure ce button je vue qu’une autre JInternalFrame (J2) s’affiche mais le problème c’est que  
Le JInternalFrame (J2) s’affiche à l’intérieur de JInternalFrame (J1) et non pas à l’intérieur de JForm  
SVP si quelqu'un a une idée me la propose, je suis debutante en java et j'ai vraiment besoin de votre aide .
merci d'avance
 
voici le code que j’ai écrit  

Code :
  1. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  2. // TODO add your handling code here:
  3.  
  4.     A= new JDesktopPane();
  5.             setContentPane(A);
  6.        
  7.            L = new J2();
  8.        
  9.            A.add(L);
  10.         try {
  11.             L.setSelected(true);
  12.         } catch (PropertyVetoException ex) {
  13.         }
  14.             L.setLocation(10, 10);
  15.            
  16.            L.setVisible(true);
  17.            
  18. }

mood
Publicité
Posté le 14-10-2008 à 16:18:55  profilanswer
 

n°1800269
artscoop
la fin des temps
Posté le 15-10-2008 à 07:51:11  profilanswer
 

Salut,
 
dis-moi si j'ai bien compris ton code, parce que sans le contexte... :
 
À chaque fois que l'on clique sur button2,
On crée un nouveau JDesktopPane.
On change le Panneau de fond de la fenêtre par le nouveau JDesktopPane
On crée un nouvel objet de type J2 (Internal Frame de type 2)
Et on l'ajoute à notre nouveau JDesktopPane
Et on affiche notre objet de type J2

 
Alors, premièrement, je vois pas pourquoi tu recrées un JDesktopPane, s'il en existait déjà un autre pour ta JFrame.
Car en faisant setContentPane(A), tu remplaces tout le contenu de ta JFrame par un nouveau JDesktopPane.
 
Je sais pas si je suis clair, et si j'ai bien compris ton problème.
En tout cas, rien que dans ce que j'ai écrit concernant le cheminement de ta méthode, il y a un problème.


Message édité par artscoop le 15-10-2008 à 07:51:37

---------------
Site de rencontre
n°1800272
artscoop
la fin des temps
Posté le 15-10-2008 à 07:53:19  profilanswer
 

Bon, j'oubliais, voilà la façon dont je modifierais ton code (à peu près) :
 

Code :
  1. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  2. // TODO add your handling code here:
  3.  
  4.     A= getContentPane(); // Je suppose en faisant ça que tu as précédemment créé un JDesktopPane au début.
  5.        
  6.            L = new J2();
  7.        
  8.            A.add(L);
  9.         try {
  10.             L.setSelected(true);
  11.         } catch (PropertyVetoException ex) {
  12.         }
  13.             L.setLocation(10, 10);
  14.            
  15.            L.setVisible(true);
  16.            
  17. }


Message édité par artscoop le 15-10-2008 à 07:54:19

---------------
Site de rencontre
n°1801050
DRAGCHM
Posté le 16-10-2008 à 15:46:19  profilanswer
 

En fait j’ai trouvé une solution mais elle est incomplète,je vous envois une parti du code de la classe ou j'ai déclare le JDesktopPane ainsi   que la class ou il ya le Jbuton  
 

Code :
  1. 1/ CLASS IUMenu
  2. Code :
  3. import java.beans.PropertyVetoException;
  4. import java.sql.SQLException;
  5. import javax.swing.JDesktopPane;
  6. publicclass IUMenu extends javax.swing.JFrame{
  7.  
  8.     JDesktopPane d;
  9.     IUEmploye e;
  10. ...
  11. public IUMenu(){
  12.         initComponents();
  13.          d= new JDesktopPane();
  14.          setContentPane(d);
  15.      
  16.     }
  17. ...
  18. privatevoid jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt){                                         
  19.        
  20.             e = new IUEmploye(this);
  21.        
  22. d.add(e);
  23.         try{
  24.             e.setSelected(true);
  25.         }catch(PropertyVetoException ex){
  26.             Logger.getLogger(IUMenu.class.getName()).log(Level.SEVERE, null, ex);
  27.         }
  28.             e.setLocation(10, 10);
  29.             e.setVisible(true);
  30.            
  31.          
  32. }                                         
  33. ....
  34. }


 

Code :
  1. /**************IUEmploye
  2. import javax.swing.JDesktopPane;
  3.  
  4. publicclass IUEmploye extends javax.swing.JInternalFrame{
  5.  
  6.    IUMenu menu;
  7.    Detail L;
  8. public IUEmploye (){
  9.          initComponents();
  10.       }
  11.  
  12.   public IUEmploye (IUMenu menu){
  13.      this.menu = menu;
  14.    try{
  15.             initComponents();
  16.     }
  17.  
  18. catch(SQLException ex){
  19.             System.out.println(ex.getMessage());
  20.         }
  21.  
  22.                    }
  23. ....
  24.  
  25. privatevoid jButton2ActionPerformed(java.awt.event.ActionEvent evt){                                         
  26. // TODO add your handling code here:
  27.          
  28.            L = new Detail ();
  29.          menu.d.add(L);
  30.                  try{
  31.  
  32.  
  33.             L.setSelected(true);
  34.         }
  35. catch(PropertyVetoException ex){
  36.             Logger.getLogger(IUMenu.class.getName()).log(Level.SEVERE, null, ex);
  37.         }
  38.             L.setLocation(20, 10);
  39.             L.setVisible(true);
  40.             this.setVisible(false);
  41.          
  42.              
  43. }   
  44. }


 

Code :
  1. /******Detail
  2. import java.beans.PropertyVetoException;
  3. public class Detail extends javax.swing.JInternalFrame {
  4.     /** Creates new form Detail */
  5.     IUMenu m;
  6.     IUEmploye em;
  7.     public Detail () {
  8.        
  9.         initComponents();
  10.        
  11.       }
  12.     public Detail (IUMenu m) {
  13.                initComponents();
  14.        
  15.         this.m = m;
  16.                }
  17.      private void B2(java.awt.event.ActionEvent evt) {
  18.      
  19.     em = new IUEmploye ();
  20.      
  21.            m.d.add(em);
  22.      
  23.         try {
  24.             em.setSelected(true);
  25.         } catch (PropertyVetoException ex) {
  26.      
  27.         }
  28.              
  29.             em.setLocation(20, 10);
  30.             em .setVisible(true);
  31.             this.setVisible(false);
  32.          
  33. }


Actuellement Si Je vue faire l'inverse, a partir d'un button « B2» qui se trouve à  JInternalFrame « Detail »  je vue revenir  à JInternalFrame « IUEmploye » ca marche pas mais l'inverse marche  IUEmploye----> Detail  


Message édité par DRAGCHM le 18-10-2008 à 12:07:32

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème JDesktopPane, JInternalFrame

 

Sujets relatifs
Problème de hachageproblème avec l'utilisation de JNI(java native inteface)
probleme de regex[UNIX] Problème avec sed
problème de déploiementvbscript - probleme de copie de fichier
Probleme en programmatio,problème sur un template
Passage de PHP4 a PHP5 problème de conditionProblème d'affichage d'un menu en CSS (résolu)
Plus de sujets relatifs à : Problème JDesktopPane, JInternalFrame


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR