-
Bug
-
Resolution: Fixed
-
P3
-
1.4.0
-
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]
======================================================================