21Fermer23
Pen^2Le 18/03/2009 à 11:33
J'ai testé avant de poster et chez moi ça renvoie bien le même JTextArea.
Je regarde ton code, un instant.
(c'est pas normal qu'il essaie de caster un scrollpane vers un textarea hum)

import javax.swing.SwingUtilities ;
import java.awt.BorderLayout ;
import javax.swing.JPanel ;
import javax.swing.JFrame ;
import javax.swing.JScrollPane ;
import javax.swing.JTextArea ;

/**
 * 
 */

/**
 * 
 */
public class ScrollPaneDemoFrame
      extends JFrame
{

   private static final long serialVersionUID= 1L ;
   private JPanel jContentPane ;
   private JScrollPane jScrollPane ;
   private JTextArea jTextArea ;



   /**
    * This method initializes jScrollPane
    * 
    * @return javax.swing.JScrollPane
    */
   private JScrollPane getJScrollPane()
   {
      if ( jScrollPane == null ) {
         jScrollPane= new JScrollPane() ;
         jScrollPane.setViewportView(getJTextArea()) ;
         JTextArea jta= (JTextArea)jScrollPane.getViewport().getView() ;
         
         System.out.println(getJTextArea().hashCode()) ;
         System.out.println(jta.hashCode()) ;
      }
      return jScrollPane ;
   }



   /**
    * This method initializes jTextArea
    * 
    * @return javax.swing.JTextArea
    */
   private JTextArea getJTextArea()
   {
      if ( jTextArea == null ) {
         jTextArea= new JTextArea() ;
      }
      return jTextArea ;
   }



   /**
    * @param args
    */
   public static void main( String[] args )
   {
      // TODO Auto-generated method stub

      SwingUtilities.invokeLater(new Runnable() {
         public void run()
         {
            ScrollPaneDemoFrame thisClass= new ScrollPaneDemoFrame() ;
            thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
            thisClass.setVisible(true) ;
         }
      }) ;
   }



   /**
    * This is the default constructor
    */
   public ScrollPaneDemoFrame()
   {
      super() ;
      initialize() ;
   }



   /**
    * This method initializes this
    * 
    * @return void
    */
   private void initialize()
   {
      this.setSize(300, 200) ;
      this.setContentPane(getJContentPane()) ;
      this.setTitle("JFrame") ;
   }



   /**
    * This method initializes jContentPane
    * 
    * @return javax.swing.JPanel
    */
   private JPanel getJContentPane()
   {
      if ( jContentPane == null ) {
         jContentPane= new JPanel() ;
         jContentPane.setLayout(new BorderLayout()) ;
         jContentPane.add(getJScrollPane(), BorderLayout.CENTER) ;
      }
      return jContentPane ;
   }

}