Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sauvegarder contenu TabbedPane

    30 octobre 2014 à 16:12:54

    Bonjour,

    dans le cadre d'un cours nous devons réaliser une application permettant de dessiner des formes géométriques, cette partie étant réalisée nous devons pouvoir gérer plusieurs "tableaux", nous avons donc choisi d'utiliser des TabbedPane pour gérer plusieurs onglets et donc plusieurs tableaux.

    Cependant lorsque l'on change d'onglet le contenu n'est pas sauvegardé et le tableau se resete à chaque changement d'onglet...

    Ma question est donc : comment réussir à restituer le contenu du panel après avoir changé d'onglet ?

    Merci =)

    • Partager sur Facebook
    • Partager sur Twitter
      30 octobre 2014 à 16:32:19

      Montre nous ton code qu'on puisse t'aider
      • Partager sur Facebook
      • Partager sur Twitter
        30 octobre 2014 à 16:45:43

        /*
         * To change this license header, choose License Headers in Project Properties.
         * To change this template file, choose Tools | Templates
         * and open the template in the editor.
         */
        /**
         *
         * @author Salome
         */
        
        package javafxapplication1;
        import java.awt.Color;
        import java.awt.Graphics;
        import javax.swing.JPanel;
        import java.awt.Graphics2D;
        
        public class ProjetForme extends java.applet.Applet {
        
            /**
             * Initializes the applet ProjetForme
             */
            public void init() {
                try {
                    java.awt.EventQueue.invokeAndWait(new Runnable() {
                        public void run() {
                            initComponents();
                        }
                    });
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        
            /**
             * This method is called from within the init() method to initialize the
             * form. WARNING: Do NOT modify this code. The content of this method is
             * always regenerated by the Form Editor.
             */
            // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
            private void initComponents() {
        
                groupe1 = new javax.swing.ButtonGroup();
                Quadrilatere = new javax.swing.JRadioButton();
                Triangle = new javax.swing.JRadioButton();
                Cercle = new javax.swing.JRadioButton();
                texte = new javax.swing.JLabel();
                PanelPrincipal = new javax.swing.JTabbedPane();
                tab1 = new javax.swing.JPanel();
                tab2 = new javax.swing.JPanel();
                Clear = new javax.swing.JButton();
                taillecercle = new javax.swing.JTextField();
        
                setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        
                groupe1.add(Quadrilatere);
                Quadrilatere.setText("Quadrilatère");
                Quadrilatere.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        QuadrilatereActionPerformed(evt);
                    }
                });
                add(Quadrilatere, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 70, -1, -1));
        
                groupe1.add(Triangle);
                Triangle.setText("Triangle");
                Triangle.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        TriangleActionPerformed(evt);
                    }
                });
                add(Triangle, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 110, -1, -1));
        
                groupe1.add(Cercle);
                Cercle.setText("Cercle");
                Cercle.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        CercleActionPerformed(evt);
                    }
                });
                add(Cercle, new org.netbeans.lib.awtextra.AbsoluteConstraints(620, 150, -1, -1));
        
                texte.setText("Forme");
                texte.setMaximumSize(new java.awt.Dimension(117, 48));
                texte.setMinimumSize(new java.awt.Dimension(117, 48));
                add(texte, new org.netbeans.lib.awtextra.AbsoluteConstraints(630, 10, 40, 40));
        
                PanelPrincipal.addMouseListener(new java.awt.event.MouseAdapter() {
                    public void mouseClicked(java.awt.event.MouseEvent evt) {
                        PanelPrincipalMouseClicked(evt);
                    }
                });
        
                tab1.addMouseListener(new java.awt.event.MouseAdapter() {
                    public void mouseClicked(java.awt.event.MouseEvent evt) {
                        tab1MouseClicked(evt);
                    }
                });
                PanelPrincipal.addTab("1", tab1);
        
                tab2.addMouseListener(new java.awt.event.MouseAdapter() {
                    public void mouseClicked(java.awt.event.MouseEvent evt) {
                        tab2MouseClicked(evt);
                    }
                });
                PanelPrincipal.addTab("2", tab2);
        
                add(PanelPrincipal, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 440));
        
                Clear.setText("Effacer Tableau");
                Clear.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        ClearActionPerformed(evt);
                    }
                });
                add(Clear, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 390, 120, 40));
        
                taillecercle.setText("Rayon");
                add(taillecercle, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 180, -1, 30));
            }// </editor-fold>//GEN-END:initComponents
        
            private void QuadrilatereActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_QuadrilatereActionPerformed
                    choixForme = 1;
            }//GEN-LAST:event_QuadrilatereActionPerformed
        
            private void TriangleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TriangleActionPerformed
                    choixForme = 2;
            }//GEN-LAST:event_TriangleActionPerformed
        
            private void CercleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CercleActionPerformed
                    choixForme = 3;
            }//GEN-LAST:event_CercleActionPerformed
        
            private int choixForme;
            private int coordX;
            private int coordY;
            private int[] pointsQuadriX = new int[4];
            private int[] pointsQuadriY = new int[4];
            private int[] pointsTriX = new int[3];
            private int[] pointsTriY = new int[3];
            private int[] pointsCercleX = new int [2];
            private int[] pointsCercleY = new int [2];
            private int r;
            private int rayon;
            private String recuperer;
            private int xCentre;
            private int yCentre;
            private int count = 0; 
            private int precedent;
            
            private void ClearMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked
            }//GEN-LAST:event_jButton1MouseClicked
        
            private void ClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ClearActionPerformed
                    clearpanel((JPanel)PanelPrincipal.getSelectedComponent());
                    
            }//GEN-LAST:event_ClearActionPerformed
        
            private void PanelPrincipalMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_PanelPrincipalMouseClicked
             
            }//GEN-LAST:event_PanelPrincipalMouseClicked
        
            private void tab1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tab1MouseClicked
                coordX = evt.getX(); 
                coordY = evt.getY();        
               
                Graphics2D g = (Graphics2D) this.tab1.getGraphics();
        
                if(choixForme==1){
        
                    if(count>3){
                         count = 0;
                     } 
                    pointsQuadriX[count] = coordX;
                    pointsQuadriY[count] = coordY;
                    System.out.println(count);
                    if(count >= 1){
                        g.drawLine(pointsQuadriX[precedent],pointsQuadriY[precedent],pointsQuadriX[count],pointsQuadriY[count]);
                    }
                    if(count == 3){
                        g.drawLine(pointsQuadriX[3],pointsQuadriY[3],pointsQuadriX[0],pointsQuadriY[0]);
                    }
                    precedent = count;
                    count = count+1;
                }
                
                else {
                    if(choixForme==2){
                        if(count>2){
                            count = 0;
                        } 
                    pointsTriX[count] = coordX;
                    pointsTriY[count] = coordY;
                    System.out.println(count);
                    if(count >= 1){
                        g.drawLine(pointsTriX[precedent],pointsTriY[precedent],pointsTriX[count],pointsTriY[count]);
                    }
                    if(count == 2){
                        g.drawLine(pointsTriX[2],pointsTriY[2],pointsTriX[0],pointsTriY[0]);
                    }
                    precedent = count;
                    count = count+1;    
                    }
                    
                    else{
                        recuperer = taillecercle.getText();
                        rayon = Integer.parseInt(recuperer); 
                        dessinerCercle(g, coordX, coordY, rayon);  // center (80,70) r=5
                        
                    }
        
                }  
            }//GEN-LAST:event_tab1MouseClicked
        
            private void tab2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tab2MouseClicked
                
            }//GEN-LAST:event_tab2MouseClicked
        
            // Variables declaration - do not modify//GEN-BEGIN:variables
            private javax.swing.JRadioButton Cercle;
            private javax.swing.JButton Clear;
            private javax.swing.JTabbedPane PanelPrincipal;
            private javax.swing.JRadioButton Quadrilatere;
            private javax.swing.JRadioButton Triangle;
            private javax.swing.ButtonGroup groupe1;
            private javax.swing.JPanel tab1;
            private javax.swing.JPanel tab2;
            private javax.swing.JTextField taillecercle;
            private javax.swing.JLabel texte;
            // End of variables declaration//GEN-END:variables
        
            private void clearpanel(JPanel p)
            {
                Graphics2D g=(Graphics2D) p.getGraphics();
                g.clearRect(0,0, p.getWidth(), p.getHeight());
            }
        
            public void dessinerCercle(Graphics g, int xCentre, int yCentre, int r) 
            {
                g.drawOval(xCentre-r, yCentre-r, 2*r, 2*r);
            }
        
        }

        Merci beaucoup ! :)

        • Partager sur Facebook
        • Partager sur Twitter

        Sauvegarder contenu TabbedPane

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown