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 : 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
 
package id.prog:king:
import javax.swing.*;
import java.awt.*;
 
public class messages
    extends JInternalFrame {
  public messages() {
    try {
      jbInit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }
 
  private void jbInit() throws Exception {
    jPanel2.setLayout(gridLayout2);
    this.setClosable(true);
    this.setClosed(true);
    this.setFrameIcon(new ImageIcon(messages.class.getResource(
        "application_error.png")));
    this.setMaximizable(true);
    this.setTitle("Messages");
    this.getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
    jPanel1.setLayout(gridLayout1);
    jButton1.setToolTipText("Copier");
    jButton1.setIcon(new ImageIcon(messages.class.getResource("Copy16.png")));
    jButton2.setToolTipText("Tout effacer");
    jButton2.setIcon(new ImageIcon(messages.class.getResource("clear.png")));
    jPanel1.add(jToolBar1);
    jToolBar1.add(jButton1);
    jToolBar1.add(jButton2);
    this.getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
    jPanel2.add(jScrollPane1);
    jScrollPane1.getViewport().add(jTextArea1);
  }
 
  JPanel jPanel1 = new JPanel();
  JPanel jPanel2 = new JPanel();
  JToolBar jToolBar1 = new JToolBar();
  GridLayout gridLayout1 = new GridLayout();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  GridLayout gridLayout2 = new GridLayout();
  JScrollPane jScrollPane1 = new JScrollPane();
  static JTextArea jTextArea1 = new JTextArea();
}
code de la fenetre principale :
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
...
package id.prog
public class Cadre1
    extends JFrame {
    JDesktopPane dtp = new JDesktopPane();
    JSplitPane jSplitPane1 = new JSplitPane();
    messages frame = new messages();
    JToggleButton jToggleButton1 = new JToggleButton();
    String messages_erreur;//contient les messages d'erreur
    public Cadre1() {
    try {
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      jbInit();
     }
      catch (Exception exception) {
      exception.printStackTrace();
      }
     } ...... 
     Toolkit tk = Toolkit.getDefaultToolkit();
     Dimension dim = tk.getScreenSize();
     int largeur = dim.width; int hauteur = dim.height;
     jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);
     contentPane.add(jSplitPane1, java.awt.BorderLayout.CENTER);
     jSplitPane1.add(jSplitPane2, JSplitPane.TOP);
     jSplitPane1.add(jSplitPane2, JSplitPane.BOTTOM);
     jSplitPane1.setDividerLocation(hauteur);
     ....
     void echec()
     {jToggleButton1.setSelected(true);
      jSplitPane1.setDividerLocation(400);
      Dimention d = jSplitPane1.getSize();
      frame.setPreferedSize(d);
      dtp.add(frame);
      frame.jTextArea1.setText(messages_erreur);
     }
     ....
     void action_jtogglebutton()
     {if (jToggleButton1.isSelected())
         {
          jSplitPane1.setDividerLocation(400);
          Dimention d = jSplitPane1.getSize();
          frame.setPreferedSize(d);
          dtp.add(frame);
         }else{/*fermer la fenetre interne*/}
      }
   }
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