-
Bug
-
Resolution: Fixed
-
P4
-
1.4.2
-
beta
-
x86
-
windows_2000
Name: rmT116609 Date: 05/05/2004
FULL PRODUCT VERSION :
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)
A DESCRIPTION OF THE PROBLEM :
When JTextArea is embedded inside JScrollPane, number of columns and rows for JTextArea are set directly by constructor JTextArea.JTextArea (int, int) and margins of JTextArea are not zero (set by JTextArea.setMargin (Insets)), then JTextArea.getPreferredScrollableViewportSize() returns dimention, which is less then dimension returned by JTextArea.getPreferredSize () so scroll bars appear when thay are not necessary.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile and run the test case:
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Main
{
public static void main(String[] args)
{
JTextArea area = new JTextArea (
"There must be no\n" +
"scroll bars\n" +
"around this area",
4, 12);
area.setMargin (new Insets (10, 10, 10, 10));
JScrollPane pane = new JScrollPane (area);
JFrame frame = new JFrame ();
frame.getContentPane ().add (pane);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.pack ();
frame.show ();
}
}
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No scroll bars appear (if screen resolution is enough)
ACTUAL -
Scroll bars appear
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Override getPreferredScrollableViewportSize () in JTextArea to return exectly the same as getPreferredSize ()
(Incident Review ID: 260027)
======================================================================