probleme jinternalframe

probleme jinternalframe - Java - Programmation

Marsh Posté le 23-01-2009 à 11:34:38    

bonjours à tous ,
j'ai realiser un compilateur et je voudrai qu'il affiche les messages  
d'erreur dans un jinternalframe et que ce dernier doit etre
controler par un jtogglebutton (pour permettre de creer une fenetre)
 
code de jintarnalframe :
 

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class messages
  4.     extends JInternalFrame {
  5.   public messages() {
  6.     try {
  7.       jbInit();
  8.     }
  9.     catch (Exception ex) {
  10.       ex.printStackTrace();
  11.     }
  12.   }
  13.   private void jbInit() throws Exception {
  14.     jPanel2.setLayout(gridLayout2);
  15.     this.setClosable(true);
  16.     this.setClosed(true);
  17.     this.setFrameIcon(new ImageIcon(messages.class.getResource(
  18.         "application_error.png" )));
  19.     this.setMaximizable(true);
  20.     this.setTitle("Messages" );
  21.     this.getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
  22.     jPanel1.setLayout(gridLayout1);
  23.     jButton1.setToolTipText("Copier" );
  24.     jButton1.setIcon(new ImageIcon(messages.class.getResource("Copy16.png" )));
  25.     jButton2.setToolTipText("Tout effacer" );
  26.     jButton2.setIcon(new ImageIcon(messages.class.getResource("clear.png" )));
  27.     jPanel1.add(jToolBar1);
  28.     jToolBar1.add(jButton1);
  29.     jToolBar1.add(jButton2);
  30.     this.getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
  31.     jPanel2.add(jScrollPane1);
  32.     jScrollPane1.getViewport().add(jTextArea1);
  33.   }
  34.   JPanel jPanel1 = new JPanel();
  35.   JPanel jPanel2 = new JPanel();
  36.   JToolBar jToolBar1 = new JToolBar();
  37.   GridLayout gridLayout1 = new GridLayout();
  38.   JButton jButton1 = new JButton();
  39.   JButton jButton2 = new JButton();
  40.   GridLayout gridLayout2 = new GridLayout();
  41.   JScrollPane jScrollPane1 = new JScrollPane();
  42.   static JTextArea jTextArea1 = new JTextArea();
  43. }


code de la fenetre principale :
...

Code :
  1. public class Cadre1
  2.     extends JFrame {
  3.     JDesktopPane dtp = new JDesktopPane();
  4.     JSplitPane jSplitPane1 = new JSplitPane();
  5.     messages frame = new messages();
  6.     JToggleButton jToggleButton1 = new JToggleButton();
  7.     String messages_d'erreur;
  8.   public Cadre1() {
  9.     try {
  10.       setDefaultCloseOperation(EXIT_ON_CLOSE);
  11.       jbInit();
  12.      }
  13.       catch (Exception exception) {
  14.       exception.printStackTrace();
  15.       }
  16.      } ......
  17.      Toolkit tk = Toolkit.getDefaultToolkit();
  18.      Dimension dim = tk.getScreenSize();
  19.      int largeur = dim.width; int hauteur = dim.height;
  20.      jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);
  21.      contentPane.add(jSplitPane1, java.awt.BorderLayout.CENTER);
  22.      jSplitPane1.add(jSplitPane2, JSplitPane.TOP);
  23.      jSplitPane1.add(jSplitPane2, JSplitPane.BOTTOM);
  24.      jSplitPane1.setDividerLocation(hauteur);
  25.      ....
  26.      void echec()
  27.      {jToggleButton1.setSelected(true);
  28.       jSplitPane1.setDividerLocation(400);
  29.       Dimention d = jSplitPane1.getSize();
  30.       frame.setPreferedSize(d);
  31.       dtp.add(frame);
  32.       frame.jTextArea1.setText(message_d'erreur);
  33.      }
  34.      ....
  35.      void action_jtogglebutton()
  36.      {if (jToggleButton1.isSelected())
  37.          {
  38.           jSplitPane1.setDividerLocation(400);
  39.           Dimention d = jSplitPane1.getSize();
  40.           frame.setPreferedSize(d);
  41.           dtp.add(frame);
  42.          }else{//fermer la femetre interne}
  43.       }
  44.    }


le probleme est que :
1.le jinternalframe ne s'affiche pas
2.comment je peux rendre le jsplitpane initialement non deplaçable
 aidez mois svp  :cry:  :cry:  :cry:      

Reply

Marsh Posté le 23-01-2009 à 11:34:38   

Reply

Marsh Posté le 23-01-2009 à 16:38:11    

Déjà la classe "messages" ça serait bien d'y mettre une majuscule, histoire de respecter les conventions.
 
1. Il n'y a pas besoin de faire un setVisible(true) sur la JInternalFrame ?
 
2. setEnabled(boolean) n'existe pas pour le JSplitPane ?

Reply

Marsh Posté le 23-01-2009 à 16:55:50    

le pb reste tjs ...

Reply

Marsh Posté le 30-01-2009 à 17:28:19    

A quel endroit tu a ajouté setVisible dans ton code ?

Reply

Marsh Posté le 31-07-2010 à 07:34:06    

bonjour,  
 
tu as fait un  
this.setClose(true);
(ligne 18) ce qui a pour effet de "fermer" la fenetre si tu commente cette ligne ca devrait aller mieux. Ne pas confondre setClosable(true) et setClose(true).
 
En espérant avoir répondu à ton attente.


---------------
Pilloutche
Reply

Sujets relatifs:

Leave a Replay

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