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 :
- 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 :
- public class Cadre1
- extends JFrame {
- JDesktopPane dtp = new JDesktopPane();
- JSplitPane jSplitPane1 = new JSplitPane();
- messages frame = new messages();
- JToggleButton jToggleButton1 = new JToggleButton();
- String 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(message_d'erreur);
- }
- ....
- void action_jtogglebutton()
- {if (jToggleButton1.isSelected())
- {
- jSplitPane1.setDividerLocation(400);
- Dimention d = jSplitPane1.getSize();
- frame.setPreferedSize(d);
- dtp.add(frame);
- }else{//fermer la femetre 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