Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4441431

XMLEncoder.writeObject does not write java.awt.ScrollPane correctly

XMLWordPrintable

    • beta2
    • sparc
    • solaris_2.6



      Name: dsR10051 Date: 04/12/2001


      Method
      protected void writeObject(Object o) of class java.beans.XMLEncoder
      does not write java.awt.ScrollPane object correctly to the output stream.
      It ignores the display policy for the scrollbar.

      Here is minimized test:
      import java.io.*;
      import java.beans.*;
      import java.awt.*;

      public class Test0016 {

          public static void main(String[] args) {

              ScrollPane object = new ScrollPane(java.awt.ScrollPane.SCROLLBARS_NEVER);
              ByteArrayOutputStream os = new ByteArrayOutputStream();
              XMLEncoder xmlEnc = new XMLEncoder(os);
              xmlEnc.writeObject(object);
              xmlEnc.flush();
              xmlEnc.close();

              ByteArrayInputStream in = new ByteArrayInputStream(os.toByteArray());
              XMLDecoder xmlDec = new XMLDecoder(in);
              System.out.println("OutputStream");
              System.out.println(os.toString());

              ScrollPane res = (ScrollPane) xmlDec.readObject();
              if(res.getScrollbarDisplayPolicy() == java.awt.ScrollPane.SCROLLBARS_NEVER) {
                  System.out.println("OKAY");
              } else {
                  System.out.println("Failed");
                  System.out.println("ScrollPane: " + res);
                  System.out.println("Expected : " + object);
              }
          }
      }

      --- output ---
      %java -version
      java version "1.4.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b58)
      Java HotSpot(TM) Client VM (build 1.4.0-beta-b58, mixed mode)
      %java Test0016
      Warning:
          Cannot allocate colormap entry for default background

      java.lang.NullPointerException: child is null
      Continuing ...
      OutputStream
      <?xml version="1.0" encoding="UTF-8"?>
      <java version="1.4.0-beta" class="java.beans.XMLDecoder">
        <object class="java.awt.ScrollPane">
          <void property="name">
            <string>scrollpane0</string>
          </void>
        </object>
      </java>

      Failed
      ScrollPane: java.awt.ScrollPane[scrollpane0,0,0,100x100,invalid,ScrollPosition=(0,0),Insets=(0,0,0,0),ScrollbarDisplayPolicy=as-needed,wheelScrollingEnabled=true]
      Expected : java.awt.ScrollPane[scrollpane0,0,0,100x100,invalid,ScrollPosition=(0,0),Insets=(0,0,0,0),ScrollbarDisplayPolicy=never,wheelScrollingEnabled=true]

      ======================================================================

            pmilnesunw Philip Milne (Inactive)
            sdasunw Sda Sda (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: