Problème JDesktopPane, JInternalFrame

Problème JDesktopPane, JInternalFrame - Java - Programmation

Marsh Posté le 14-10-2008 à 16:18:55    

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. }

Reply

Marsh Posté le 14-10-2008 à 16:18:55   

Reply

Marsh Posté le 15-10-2008 à 07:51:11    

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
Reply

Marsh Posté le 15-10-2008 à 07:53:19    

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
Reply

Marsh Posté le 16-10-2008 à 15:46:19    

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
Reply

Sujets relatifs:

Leave a Replay

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